题目地址:
https://www.acwing.com/problem/content/848/
给定一棵 n n n个节点的树,求其重心,要求输出将其重心删去后,所剩最大连通块的节点个数。树的重心是指树中这样的一个点,如果将其删去,得到的所有连通块中最大连通块的节点个数最少。
输入格式:
第一行包含整数 n n n,表示树的结点数。接下来 n − 1 n-1 n−1行,每行包含两个整数 a a a和 b b b,表示点 a a a和点 b b b之间存在一条边。
输出格式:
输出一个整数 m m m,表示将重心删除后,剩余各个连通块中点数的最大值。
数据范围:
1 ≤ n ≤ 1 0 5 1\le n\le 10^5

这篇博客介绍了如何使用DFS算法求解一棵树的重心,并在删除重心后找出最大连通块的节点数量。通过从任意节点出发进行深度优先搜索,计算每个节点被删除时的连通块大小,当找到的节点满足其删除后的最大连通块大小不超过总节点数的一半时,即为重心。最终输出删除重心后的最大连通块节点数。
最低0.47元/天 解锁文章
2047

被折叠的 条评论
为什么被折叠?



