学习了一下维护序列的新姿势:可持久化treap
treap 维护堆性质用启发式合并也能保证复杂度。
treap的操作大概就是split 和 merge 像LCT的link和cut一样,不过,它用来实现的是提取区间。merge非旋转使其能够可持久化。
一道可持久化treap的模板题,调了好久,犯了一个pushdown时加了pushup的错误。下次写pushdown的时候一定要注意与pushup的冲突,想清楚每句话的作用,当你不知道你写这句话有何用时,你就要警惕了。
总体好理解。
学习了一下维护序列的新姿势:可持久化treap
treap 维护堆性质用启发式合并也能保证复杂度。
treap的操作大概就是split 和 merge 像LCT的link和cut一样,不过,它用来实现的是提取区间。merge非旋转使其能够可持久化。
一道可持久化treap的模板题,调了好久,犯了一个pushdown时加了pushup的错误。下次写pushdown的时候一定要注意与pushup的冲突,想清楚每句话的作用,当你不知道你写这句话有何用时,你就要警惕了。
总体好理解。