FHQ平衡树小结
作者虽然不太喜欢平衡树,但毕竟有它的优势,稍微总结一下 FHQ 平衡树一般可以干些啥,并不会详细介绍该算法。
常见操作肯定是我们熟知的 P3369 【模板】普通平衡树
删除一个数,我们可以平衡树分裂出来删掉,注意如果是可重集的话根据题目看删一个还是多个。
查 \(x\) 的排名,分裂看 \(<x\) 的子树大小然后 \(+1\) 即可。
有时我们会问编号为 \(x\) 的排名,我们这时可以开数组存它是平衡树上哪一个点,根据 BST 性质,然后看递归左子树还是右子树即可,然后加一就是排名。
然后我们会遇到 P4200 千山鸟飞绝
乍一看,树都被分裂了还能标记下传?事实上我们在分裂前下传即可。
有时候题是给什么 \(w_i\) 在一个范围内的贡献加 \(k\),这就可以。
求答案的时候可以直接提前存下标,然后直接调取哪里的值即可。
平衡树还有一个很神秘的东西,叫平衡树合并,参考P5494 【模板】线段树分裂,不过势能我忘了怎么分析的了,感兴趣的可以看看题解(
浙公网安备 33010602011771号