#69. 森林直径
森林直径
Description
给你一棵树。
树有 N 个点,编号为 1 ~ N 。每条边的长度均为 1。
现在让你剪掉 M 条边。
这样就得到了由 M+1 个子树构成的森林。
其中具有最大直径的子树的直径长度被称作森林的直径。
(树的直径是指树的最长链,即树中相距最远的两点之间的距离。)
现在想让森林的直径尽可能小。
如何剪枝可以得到最小的森林直径呢?
请你计算这个最小值并输出。
Input
- 第1行: N, M
- 接下来 N-1 行: 每行两个整数 u,v,表示树的一条边的两个端点
Output
- 一个整数,表示最小的森林直径
Sample Input
7 2
6 7
3 4
6 5
1 2
3 2
4 5
Sample Output
2
Hint
2 <= N <= 100,000
1 <= M <= N-1
1 <= u, v <= N 且 u ≠ v
相关
在下列比赛中: