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