[APC001] F - Extend
题目背景
~~**本题输入输出量较大,请酌情使用较快的输入输出方式**~~。已扩大时限从 $1s\to 1.5s$。
题目描述
对于一棵有 $n$ 个节点,根为 $k$ 的树,最开始有且仅有一个“可扩展的”节点 $z$,我们有两种扩展形式:
- $\text{I}$ 类扩展:从一个“可扩展的”节点 $u$ 开始扩展,把 $u$ 的子树中所有节点和所有满足与 $u$ 距离 $\leq p$ 且是 $u$ 祖先的节点标记为“可扩展的”。
- $\text{II}$ 类扩展:从一个“可扩展的”节点 $u$ 开始扩展,把所有与 $u$ 深度相等的节点标记为“可扩展的”。
你需要将所有结点都标记为“可扩展的”,求最小进行扩展的次数。
输入输出格式
输入格式
第一行两个整数 $n,k$。
接下来 $n-1$ 行,每行两个整数 $u,v$,表示存在一条无向边连接 $u,v$。
接下来一行一个整数 $t$,表示询问次数。
接下来 $t$ 行,每行两个整数 $z,p$,意义如上。
输出格式
$t$ 行,对于每次询问:
- 若无法将所有节点都标记为“可扩展的”,输出 `-1`。
- 否则一行一个整数,表示答案。
输入输出样例
输入样例 #1
3 1
1 2
1 3
2
2 6
2 1
输出样例 #1
2
2
输入样例 #2
4 1
2 1
3 2
4 3
3
2 2
2 5
4 2
输出样例 #2
1
1
2
输入样例 #3
20 11
2 8
16 4
6 7
11 8
10 13
7 10
17 7
15 13
10 14
18 19
1 2
6 3
12 1
1 5
1 4
2 3
9 5
14 20
5 18
15
9 269
1 522
6 327
13 726
14 8
17 2
18 4
15 64
9 5
13 3
18 1
19 664
5 3
20 5
6 4
输出样例 #3
2
2
2
2
2
3
2
2
2
3
5
2
2
3
2
说明
样例 $1$ 解释:两次询问都可以先对 $2$ 节点进行 $\text{II}$ 类扩展,然后对 $3$ 进行 $\text{I}$ 类扩展。可以保证对于两次询问,这样操作都是最优的。
对于所有数据,$1\leq z,k,u,v\leq n\leq 10^5,1\leq t\leq 2\times 10^6,0\leq p\leq 10^{18}$。