数据结构的区分

最近把 线段树 splay 树剖 和 LCT 都复习了一下

做一下区分

线段树 and splay

区间问题一般都是用线段树和 splay

那怎么区分他俩呢?

  1. 如果需要插入,删除,求第 \(k\) 大,那线段树还是算了吧
  2. 其他的一般线段树就足够了

综上:splay 是线段树的进化版

Link Cut Tree and 树剖

树剖解决子树和两个点问题一般比较多

原来 LCT 就是树剖的进化版,因为需要删边和加边,所以加入了虚边和实边的概念,每个实边路径用一个 splay 来维护

为什么用 splay 而不用线段树?(splay 是线段树的进化版)

  1. 需要翻转操作
  2. 需要删边加边

时间复杂度的话我也不是很清楚

posted @ 2023-07-20 09:49  taozhiming  阅读(19)  评论(0)    收藏  举报