07 2024 档案
摘要:线段树 一种分治型结构,每个节点维护一段区间的信息,通过合并左右区间来完成查询。 节点数不会超过【比 2n−1 大的最小的 2 的幂次】,所以通常把空间开到 4n. 使用条件 对于一个操作含区间修改、区间查询的问题,什么情况下可以使用线段树? 共有三个必须满足的条件。 对于一
阅读全文
摘要:连通性问题 1. 强连通分量 1.1. 算法解析 在 Tarjan 算法中为每个结点 u 维护了以下几个变量: dfnu:深度优先搜索遍历时结点 u 被搜索的次序,即 u 的 DFS 序。 lowu:不经过 u 的祖先能到达的最小的 dfn
阅读全文
摘要:笛卡尔树(Cartesian Tree) 1. 定义 根据序列构造的满足以下性质的树: 二叉搜索树性质(BST):keyls≤keyx≤keyrs,key 默认为下标。 堆性质:valx≤valls≤valrs.
阅读全文
摘要:插头 DP 定义 基于连通性状态压缩的 DP. 一个方向的插头存在表示这个格子在这个方向可以与外面相连。 状态 一个 n×m(n,m≤12) 的棋盘,有的格子是障碍,问共有多少满足要求的回路? 本题中,所有非障碍格子一定是从一个插头进、一个插头出,刚好用两个插头,方案
阅读全文
摘要:可并堆 / 左偏树 左偏树 外节点:只有一个儿子或没有儿子的节点。 距离:一个节点到离他最近的外节点的距离,即两节点之间的路径权值和。特别地,外节点的距离为 0,空节点的距离为 −1. 左偏树:满足如下性质的二叉树: 堆性质:任何节点的权值小于等于儿子节点的权值,即 \(val_{f
阅读全文