總之就是把一個可分裂合併的 BST 當成一個 array
區間操作就變成把代表那區間的子樹割出來,用 lazy propagation 取代暴力修改
於是區間操作就變成\(O(\log N)\)了

貼一下我習慣的 treap 寫法這樣
雖然大部份跟 2016 IOI Camp 的講義一樣就是了