随笔分类 - 高级数据结构知识
摘要:在役时期的最后一篇学习笔记了(大概)
阅读全文
摘要:树链剖分用于将树分割成若干条链的形式,以维护树上路径的信息。 具体来说,将整棵树剖分为若干条链,使它组合成线性结构,然后用其他的数据结构维护信息。 树链剖分有很多种形式,本文要讲的是其中的轻重链剖分。 树链剖分本质上就是把链从树上砍下来,然后放到树状数组或线段树上来维护。 轻重链剖分 我们给出一些定
阅读全文
摘要:在建图连边的过程中,我们时常会碰到这种题目,一个点向一段连续的区间中的点连边或者一个连续的区间向一个点连边,如果我们真的一条一条连过去,那一旦点的数量多了复杂度就爆炸了,这里就需要用线段树的区间性质来优化我们的建图了。 那棵线段树大概长这个样子。 ![线段树](https://images.cnbl
阅读全文
摘要:FHQ-treap,即无旋 treap,又称分裂合并 treap,支持维护序列,可持久化等特性。 FHQ-treap 有两个核心操作,**分裂** 与 **合并**。通过这两个操作,在很多情况下可以比旋转 treap 等方便的实现一些操作。 FHQ-treap 与其他的平衡树相比,他最明显的优点是:
阅读全文
摘要:CDQ 分治的思想最早由 IOI2008 金牌得主陈丹琦在高中时整理并总结,目前这个思想的拓展十分广泛。 - 优点:可以将数据结构或者 DP 优化掉一维 - 缺点:这是**离线**算法。 ## 引入 让我们来看一个问题 > 有 个元素,第 个元素有 $ a_i,b_i,c_i
阅读全文