JustRaincoat Notebook OI/ACM 算法竞赛笔记

重链剖分(HLD)

Heavy-Light Decoposition 重链剖分 什么是重链剖分? 树链剖分 树链剖分是指,将一棵树分成若干条链,使得这些链具有某些性质,使得树上操作变为链上操作和跳链操作(链间操作)。 重链剖分(Heavy-Light Decomposition,简称 HLD)是一种把树分解为若干条链的

Administrator Administrator 发布于 2026-06-28

树的直径

树的直径 定义 树的直径是指树中任意两个节点之间的最长路径的长度(边数或距离)。直径的两个端点称为直径端点。 性质与应用 图论基础:用于分析树的结构特征 网络优化:数据中心、通信网络中的延迟评估 算法设计:分治、动态规划的基础 竞技编程:树形DP问题中的常见模式 算法步骤 方法一:两次BFS/DFS

Administrator Administrator 发布于 2026-06-28

最小生成树(MST)—— Kruskal

最小生成树(MST)—— Kruskal 贪心策略:每次选择权重最小的边加入生成树,同时避免形成环路 可用于解决最小网络,最低价联通之类的问题 例题 P3366 【模板】最小生成树 #

Administrator Administrator 发布于 2026-06-28

最近公共祖先 LCA

最近公共祖先 LCA 什么是 LCA 最近公共祖先(Lowest Common Ancestor,简称 LCA)是树上最基础的问题之一:在一棵有根树中,两个节点的所有公共祖先里,深度最大(离根最远)的那个节点,就是它们的 LCA。 举个例子:对于查询 (u,v)

Administrator Administrator 发布于 2026-06-28