题目大意:
有一棵 \(n\) 个节点的树,你初始在 \(1\) 节点,每次你可以选择以下某一步。
- 移到与 \(x\) 相邻的点,花费 \(1\) 的时间。
- 移到 \(1\),不花费时间。
第二种操作最多执行 \(k\) 次,求最小遍历完整棵树的时间。
\(n \le 2 \times 10^5, k \le 10^9\)。
解题思路:
首先没有二操作的话直接就是 \(2 \times (n - 1) - maxdep\)。
考虑过程是怎样的,显然就是每个边进去一次出来一次,最后停在深度最深的点即可。
那么对于二操作。
考虑一个点 \(u \to v\),如果对他使用第二种操作,那么从 \(u->lca\) 的距离就变成了 \(1->lca\) 的距离。
那么只需要通过调整选最大的 \(k\) 个即可。