只会无旋\(treap\)。
因为不会\(splay\)。
用平衡树维护序列操作时,我们的\(key\)为序列下标,即我们中序遍历整颗树,其和答案序列相同。
下面说明以无旋\(treap\)说明几种操作。
三种比较常见的对序列操作的,线段树无法操作的:
插入
即和普通无旋\(treap\)插入单点一样,分裂,单点,合并。
删除
即和普通无旋\(treap\)删除一样,分裂,丢掉。
翻转
即考虑翻转左右儿子,可以直接打 \(tag\) 。
查询操作:
区间赋值
和线段树一样,树上递归修改。
区间查询信息
和线段树一样,区间查询。
例题代码 [NOI2005] 维护数列
维护数列
总而言之,只要记住这个我们的 \(key\) 是下标,然后当线段树用就行了。