FHQ平衡树小结

作者虽然不太喜欢平衡树,但毕竟有它的优势,稍微总结一下 FHQ 平衡树一般可以干些啥,并不会详细介绍该算法。

常见操作肯定是我们熟知的 P3369 【模板】普通平衡树

删除一个数,我们可以平衡树分裂出来删掉,注意如果是可重集的话根据题目看删一个还是多个。

\(x\) 的排名,分裂看 \(<x\) 的子树大小然后 \(+1\) 即可。

有时我们会问编号为 \(x\) 的排名,我们这时可以开数组存它是平衡树上哪一个点,根据 BST 性质,然后看递归左子树还是右子树即可,然后加一就是排名。

然后我们会遇到 P4200 千山鸟飞绝

乍一看,树都被分裂了还能标记下传?事实上我们在分裂前下传即可。

有时候题是给什么 \(w_i\) 在一个范围内的贡献加 \(k\),这就可以。

求答案的时候可以直接提前存下标,然后直接调取哪里的值即可。

平衡树还有一个很神秘的东西,叫平衡树合并,参考P5494 【模板】线段树分裂,不过势能我忘了怎么分析的了,感兴趣的可以看看题解(

posted @ 2025-06-27 11:56  kkxacj  阅读(12)  评论(0)    收藏  举报