100 #P1127. *【树形DP:树的重心】树的重心
*【树形DP:树的重心】树的重心
【题意】
给定一棵树,树中包含 个结点(编号)和 条无向边。
请你找到树的重心,并输出重心删除后,剩余各个连通块中点数的最大值。
定义
如果在树中选择某个节点并删除,这棵树将分为若干棵子树,统计子树节点数并记录最大值。取遍树上所有节点,使此最大值取到最小的节点被称为整个树的重心。
(这里的「子树」若无特殊说明都是指无根树的子树,即包括「向上」的那棵子树)
性质(拓展学习)
树的重心如果不唯一,则至多有两个,且这两个重心相邻。 以树的重心为根时,所有子树的大小都不超过整棵树大小的一半。
树中所有点到某个点的距离和中,到重心的距离和是最小的;如果有两个重心,那么到它们的距离和一样。
把两棵树通过一条边相连得到一棵新的树,那么新的树的重心在连接原来两棵树的重心的路径上。
在一棵树上添加或删除一个叶子,那么它的重心最多只移动一条边的距离。
【输入格式】
第一行包含整数 ,表示点的个数。
接下来 行,每行包含两个整数 ,表示点 和 之间存在一条 的边()
【输出格式】
输出一个整数,表示删除重心后最大一个连通块的点数。
9
1 4
1 2
2 6
2 5
6 3
6 7
7 9
7 8
4