zj d814, a063: SGU 187. Twist and whirl - want to cheat && 加強版
總之就是把一個可分裂合併的 BST 當成一個 array
區間操作就變成把代表那區間的子樹割出來,用 lazy propagation 取代暴力修改
於是區間操作就變成\(O(\log N)\)了
貼一下我習慣的 treap 寫法這樣
雖然大部份跟 2016 IOI Camp 的講義一樣就是了
總之就是把一個可分裂合併的 BST 當成一個 array
區間操作就變成把代表那區間的子樹割出來,用 lazy propagation 取代暴力修改
於是區間操作就變成\(O(\log N)\)了
貼一下我習慣的 treap 寫法這樣
雖然大部份跟 2016 IOI Camp 的講義一樣就是了