[学习笔记]平衡树维护序列操作

只会无旋\(treap\)
因为不会\(splay\)

用平衡树维护序列操作时,我们的\(key\)为序列下标,即我们中序遍历整颗树,其和答案序列相同。

下面说明以无旋\(treap\)说明几种操作。

三种比较常见的对序列操作的,线段树无法操作的:

插入

即和普通无旋\(treap\)插入单点一样,分裂,单点,合并。

删除

即和普通无旋\(treap\)删除一样,分裂,丢掉。

翻转

即考虑翻转左右儿子,可以直接打 \(tag\)

查询操作:

区间赋值

和线段树一样,树上递归修改。

区间查询信息

和线段树一样,区间查

总而言之,只要记住这个我们的 \(key\) 是下标,然后当线段树用就行了,我们注意分裂时,我们是按子树大
小,而不是按照权值分裂即可,这题代码很难写,所以跑路了。

posted @ 2021-12-05 19:50  fhq_treap  阅读(153)  评论(0编辑  收藏  举报