CF2119F.Volcanic Eruptions

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

有一棵以 11 号点为根的无向树,每个顶点有一个权值 wi∈{1,−1}w_i\in\{1,-1\}。

根节点的火山在时间 00 爆发。在时间 tt 时,距离根节点不超过 tt 的所有顶点都会被岩浆淹没,其中距离指的是两点之间最短路径上的边数。

在时间 00,你位于顶点 stst,生命值 SS 为 11。从时间 00 开始(包括时间 00),每个时间点依次发生以下事件:

  1. 设你当前所在的顶点为 uu,你的生命值增加 wuw_u,即 S←S+wuS\gets S+w_u。
  2. 如果 S=0S=0,或者顶点 uu 在此时被岩浆淹没,则你立即死亡。
  3. 你必须移动到一个相邻的顶点(包括父节点和子节点,不能原地停留)。你将在下一个时间点到达所选顶点。

请你求出在你死亡前最多能移动多少步。

输入格式

每组测试数据包含多组测试用例。第一行包含一个整数 TT(1≤T≤1041\le T\le 10^4),表示测试用例的组数。

对于每组测试用例,第一行包含两个整数 n,stn,st(2≤st≤n≤5×1052\le st\le n\le 5\times 10^5),表示树的顶点数和你在时间 00 时所在的顶点编号。

第二行包含 nn 个整数 w1,w2,…,wnw_1, w_2, \ldots, w_n(wi∈{1,−1}w_i\in\{1,-1\},wst=1w_{st}=1),表示每个顶点的权值。

接下来 n−1n-1 行,每行包含两个整数 u,vu,v(1≤u,v≤n1\le u,v\le n),表示一条连接顶点 uu 和 vv 的边。

保证给定的图是一棵树,且所有测试用例中 nn 的总和不超过 10610^6。

输出格式

对于每组测试用例,输出一行一个整数,表示你在死亡前最多能移动的步数。

输入输出样例

  • 输入#1

    6
    7 4
    -1 -1 -1 1 1 1 -1
    2 1
    3 2
    4 3
    5 4
    6 5
    7 6
    8 2
    -1 1 1 1 1 -1 1 1
    2 1
    6 2
    8 6
    3 8
    7 3
    5 7
    4 5
    8 2
    -1 1 -1 -1 -1 1 -1 -1
    2 1
    8 2
    4 1
    5 4
    3 4
    7 2
    6 8
    8 4
    1 1 1 1 1 -1 1 -1
    8 1
    3 1
    4 3
    5 4
    6 4
    7 6
    2 5
    8 4
    1 1 1 1 -1 -1 1 1
    2 1
    5 1
    4 5
    8 5
    3 8
    7 2
    6 2
    18 10
    -1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 1 1 -1 1 1 1 1
    1 2
    2 3
    3 4
    4 5
    5 6
    6 7
    7 8
    8 9
    9 10
    10 11
    11 12
    12 13
    9 14
    14 15
    15 16
    16 17
    17 18

    输出#1

    6
    7
    3
    3
    1
    13

说明/提示

下图展示了第一个测试用例中的树结构。

第一个测试用例中,一种最优的移动序列为 4→3→4→5→6→7→64\to3\to4\to5\to6\to7\to6,共移动 66 步。生命值 SS 的变化为 2→1→2→3→4→3→42\to1\to2\to3\to4\to3\to4。具体过程如下:

  • 时间 00,生命值 SS 变为 22,从顶点 44 移动到顶点 33。
  • 时间 11,生命值 SS 变为 11,从顶点 33 移动到顶点 44。
  • 时间 22,生命值 SS 变为 22,从顶点 44 移动到顶点 55。
  • 时间 33,生命值 SS 变为 33,从顶点 55 移动到顶点 66。
  • 时间 44,生命值 SS 变为 44,从顶点 66 移动到顶点 77。
  • 时间 55,生命值 SS 变为 33,顶点 77 到根的距离为 66,尚未被岩浆淹没。从顶点 77 移动到顶点 66。
  • 时间 66,生命值 SS 变为 44,但顶点 66 到根的距离为 55,此时被岩浆淹没。

由 ChatGPT 4.1 翻译

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

首页