AT_kupc2021_l.Tag Game

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

在一棵有 NN 个顶点的树上,每条边的长度都是 11。在这棵树上将进行 QQ 次追逐游戏。你作为被追逐的一方,而游戏开始时,追赶你的鬼在一个与你不同的顶点上。鬼始终知道你的确切位置,并以每秒 11 的速度朝你奔来。虽然你无法确定鬼的具体位置,但可以通过闻到的气味浓度得知鬼与你之间的距离。基于这些信息,你在每秒钟可以选择以下两种动作之一:

  • 用 11 秒时间移动到一个相邻的顶点。
  • 在当前顶点停留 11 秒。

如果你和鬼在某条边或某个顶点上相遇,这回合的追逐游戏就结束了。

在第 ii 次追逐游戏开始时,你位于顶点 xix_i,并且鬼和你的距离是 did_i。你的任务是,在尽量延长与鬼相遇的时间的情况下,计算出和鬼相遇的最短时间 sis_i。

(也就是说,问题的答案是,在不冒任何风险的情况下,依靠已知信息行动,使得与鬼相遇的最短时间最大化。假设你在边上移动是匀速的,而鬼则会按照缩短你们之间距离的方向移动。)

输入格式

输入通过标准输入给出,格式如下:

NN QQ a1a_1 b1b_1 a2a_2 b2b_2 …\ldots aN−1a_{N-1} bN−1b_{N-1} x1x_1 d1d_1 x2x_2 d2d_2 …\ldots xQx_Q dQd_Q

第一行包含两个整数 NN 和 QQ,分别表示树的顶点数和追逐游戏的次数。接下来的 N−1N-1 行描述了树的结构,第 ii 行表示顶点 aia_i 和 bib_i 之间有一条边。接下去的 QQ 行描述每次追逐游戏的信息,第 N+iN+i 行包含两个整数 xix_i 和 did_i。

输出格式

输出共 QQ 行,其中第 ii 行输出在第 ii 次追逐游戏中,你在尽量延长与鬼相遇的时间的情况下,与鬼相遇的最短时间 sis_i。

输入输出样例

  • 输入#1

    5 2
    1 2
    2 3
    3 4
    4 5
    1 4
    3 1

    输出#1

    4
    1
  • 输入#2

    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

    输出#2

    2
    5

说明/提示

约束

  • 2≤N≤100,0002 \leq N \leq 100,000
  • 1≤Q≤100,0001 \leq Q \leq 100,000
  • 1≤ai,bi≤N1 \leq a_i, b_i \leq N
  • 1≤xi,di≤N1 \leq x_i, d_i \leq N
  • 对于每个 xix_i,从其出发的距离为 did_i 的顶点必然存在。
  • 若 i≠ji \neq j,则 (xi,di)≠(xj,dj)(x_i, d_i) \neq (x_j, d_j)
  • 输入图一定是树。
  • 所有输入均为整数。

样例解释

在第一次追逐游戏中,你从顶点 11 开始,鬼和你的距离为 44,因此鬼在顶点 55。最佳策略是停留在顶点 11,这样 s1s_1 就为 44。

在第二次追逐游戏开始时,你在顶点 33,而鬼和你的距离为 11,所以鬼可能在顶点 22 或顶点 44。如果你朝顶点 22 移动,而鬼最初在顶点 22,则你们将在 0.50.5 秒后在边上相遇;如果鬼在顶点 44,则在 33 秒后于顶点 11 相遇。如此行动下,与鬼相遇的最短时间是 0.50.5 秒。同理,若你朝顶点 44 方向走,最短相遇时间也是 0.50.5 秒。如你选择停留在顶点 33,无论鬼在顶点 22 还是顶点 44,你们将都在 11 秒后相遇。因此最优策略是待在顶点 33,此时 s2s_2 为 11。

本翻译由 AI 自动生成

输入解题思路,AI测评打分。不知道怎么写?

首页