一片自然保护区中有 n 个巡检站,以及 n-1 条双向道路。任意两个巡检站之间都恰好有一条简单路径,因此这些道路构成一棵树。每条道路的长度均为 1。
为了分区检修道路,管理人员需要临时关闭恰好 s 条现有道路。关闭后,保护区被分成 s+1 个连通区域。
一个连通区域的直径,是该区域内任意两个巡检站之间距离的最大值。距离按经过的道路条数计算;只包含一个巡检站的区域直径为 0。
管理人员希望让所有连通区域的直径都尽量小。请你求出所有区域直径的最大值最小可以是多少。
第一行输入两个整数 n,s。
接下来 n-1 行,每行输入两个整数 u,v,表示巡检站 u 与巡检站 v 之间有一条道路。
输出一行一个整数,表示最优方案中各连通区域直径最大值。
6 2 1 2 2 3 2 4 4 5 4 6
2
9 3 1 2 1 3 2 4 2 5 3 6 6 7 6 8 8 9
2
15 5 1 2 1 3 2 4 2 5 3 6 3 7 4 8 5 9 6 10 6 11 7 12 9 13 11 14 12 15
2
例如关闭道路 (1,2) 和 (2,4),可以得到三个区域:
最大直径为 2。如果要求最大直径不超过 1,则还需要继续关闭道路,因此答案为 2。
最优方案可能需要同时切断不同深度的道路,不能只按节点度数贪心。
对于所有测试数据,保证:
本题共 20 个测试点,每个测试点 5 分。
| 测试点编号 | n\le | 特殊性质 |
|---|---|---|
| 1\sim3 | 15 | 无 |
| 4\sim6 | 10^5 | A |
| 7\sim9 | 10^5 | B |
| 10 | 100 | 无 |
| 11 | 500 | 无 |
| 12 | 10^3 | 无 |
| 13 | 3000 | 无 |
| 14 | 10^4 | 无 |
| 15 | 3\times10^4 | 无 |
| 16 | 5\times10^4 | 无 |
| 17\sim20 | 10^5 | 无 |
特殊性质 A:这棵树是一条链,即所有节点的度数均不超过 2。
特殊性质 B:这棵树是一棵菊花图,即存在一个节点的度数为 n-1。