[学习笔记] 长链剖分 - 图论
1.[学习笔记] MST(最小生成树) - 图论2.[学习笔记] LCA - 图论3.[学习笔记] 树上差分 - 图论4.[学习笔记] 高斯消元 - 线性代数5.[学习笔记] 丢番图方程 & 同余 & 逆元 - 数论6.[学习笔记] 质数与唯一分解定理 - 数论7.[学习笔记] 乘性函数 - 数论8.[学习笔记] hash & kmp & Trie树 - 字符串9.[学习笔记] 单调队列优化DP - DP10.[学习笔记] 斜率优化DP - DP11.[学习笔记] 树链剖分(重链剖分) - 图论 & 数据结构12.[学习笔记] 动态开点权值线段树合并 - 数据结构
13.[学习笔记] 长链剖分 - 图论
14.[学习笔记] Splay & Treap 平衡树 - 数据结构长链剖分
字面意思,不同于重链剖分,每次选取最长的树链进行剖分,直到剖完为止。其原理和重链剖分相似。建议学习长链剖分前,先学习 重链剖分。
重链剖分能做的,长链剖分都能做(当然不包括找重儿子),长链剖分还能以 的优秀复杂度找到 级祖先(当前节点的第 个祖先)。它的概念和重链剖分相似:
- 重子节点(重儿子):表示其子节点中 子树深度最大 的子结点。如果有多个子树最大的子结点,取其一。如果没有子节点,就无重子节点。
- 轻子节点(轻儿子):表示剩余的子结点。
- 重边:从这个结点到重子节点的边。
- 轻边:到其他轻子节点的边。
- 重链:重边首尾衔接构成重链。
以上图片来源于 [OI_WIKI](树链剖分 - OI Wiki (oi-wiki.org))
性质
- 任意一个节点 的 级祖先
本文作者:XiaoLe_MC
本文链接:https://www.cnblogs.com/xiaolemc/p/18299415
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步