P11141 [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$ 解释:两次询问都可以先对 $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}$。