数据结构的区分
最近把 线段树 splay 树剖 和 LCT 都复习了一下
做一下区分
线段树 and splay
区间问题一般都是用线段树和 splay
那怎么区分他俩呢?
- 如果需要插入,删除,求第 \(k\) 大,那线段树还是算了吧
- 其他的一般线段树就足够了
综上:splay 是线段树的进化版
Link Cut Tree and 树剖
树剖解决子树和两个点问题一般比较多
原来 LCT 就是树剖的进化版,因为需要删边和加边,所以加入了虚边和实边的概念,每个实边路径用一个 splay 来维护
为什么用 splay 而不用线段树?(splay 是线段树的进化版)
- 需要翻转操作
- 需要删边加边
时间复杂度的话我也不是很清楚

浙公网安备 33010602011771号