有一棵 n 个点的树,A 和 B 在上面捉迷藏,A 抓 B 。
初始,两个人在不同的节点。然后游戏会进行若干轮,在每一轮:
- B 获得 A 现在到他的距离。B 每一轮都可以获取一次距离,但 B 并不知道 A 的具体位置。
- 两人同时走一步。
- A 总是向到 B 距离更近的方向走。
- B 可以任意决定自己往哪走,也可以原地不动。
- 如果两人在同一个点上,或者两人穿过了同一条边,游戏结束。
B 希望最大化游戏进行的轮数。如果最后一轮是穿过了同一条边而结束的,那么这一轮视为只进行了一半。
有若干组游戏。对于第 i 组游戏,会告诉你 B 的初始位置 vi 以及初始 A 到 B 的距离 di ,你需要求出在最坏情况下 B 可以使得游戏进行几轮。
最坏情况指的是 A 总是可以处在任意一个使得之前每一轮获得的距离合法的点上,因此随机策略并没有任何作用。换句话说,“交互库是 adaptive 的”。你可以通过样例解释来更好地理解。
输入格式
第一行两个正整数 n,Q ,表示点数和游戏组数。
接下来 n−1 行,每行两个正整数 uj,vj ,表示一条边。
接下来 Q 行,每行两个正整数 vi,di ,表示一组游戏。
输出格式
输出 Q 行,每行一个正整数,表示第 i 组游戏的答案。可以证明答案一定是正整数。
样例 1
input
5 2 1 2 2 3 3 4 4 5 1 4 3 1
output
4 1
explanation
对于第一组游戏,可以直接通过距离推出 A 在 5 号点,因此 B 的最优策略是待在原地不动。
对于第二组游戏,A 可能在 2 号点也可能在 4 号点。但是无论 B 往哪边走,最坏情况都是只进行半轮就被抓到。因此最优策略仍然是待在原地不动。
样例 2
input
11 2 1 2 2 3 1 4 4 5 1 6 6 7 7 8 1 9 9 10 10 11 3 2 10 4
output
2 5
样例 3∼6
见下发文件。
数据范围与提示
对于所有数据,保证 2≤n≤105,1≤Q≤105,1≤vj≤n,1≤dj≤n−1 。
子任务编号 | 追加限制 | 分数 |
---|---|---|
1 | 100 |
时间限制:2s
空间限制:1024MB