随笔分类 - 图论:树论
摘要:树上操作太薄弱了,根本想不出来。 思路: 首先自定义根做一遍dfs,求出sz数组,sz[i]表示i的子树大小。 在做第二遍dfs,对每一个点进行尝试,看能否为根。 当 x 点为根转移到 y 点为根时,sz发生变化, sz[x] -= sz[y] sz[y] += n - sz[y] 然后进行下一步搜
阅读全文
摘要:此题来到LCA较高等级运用。 这道题需要自己花一些树玩玩。 找到一些性质: 三个点的lca一定至少有两个是一样的;更多证明 集合点就是不相同的点; 同时还要会求树上距离 这里 $x,y,z$ 是三个人,$l$ 是重复lca,$p$ 就是集合点。那么距离就是 $dep(y)-dep(p)+dep(z)
阅读全文
摘要:树上任意两节点之间最长的简单路径即为树的「直径」。记 $\delta(s, t)$ 为树的真实直径。 算法1,两遍dfs 首先从任意节点 $y$ 开始进行第一次 DFS,到达距离其最远的节点,记为 $z$,然后再从 $z$ 开始做第二次 DFS,到达距离 $z$ 最远的节点,记为 $z'$,则 即为
阅读全文
浙公网安备 33010602011771号