AT_utpc2024_p.Perfect Suika Game on a Tree
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有一棵包含 N 个结点的树 T,结点编号为 1 到 N。第 i 条边连接结点 ui 和 vi。
每个结点被分配了一个称为等级的正整数。初始时,每个结点 v=1,2,...,N 的等级为 Av。
考虑如下与树 T 相关的问题:
判断是否可以通过恰好进行 N−1 次如下操作,把树 T 最终变成仅含 1 个结点的树。 - 每次选择一条其两个端点等级相同的边,对该边进行缩并。设该边的两个端点等级为 l,缩并后新结点的等级为 l+1。
现在有 Q 个询问。第 i 个询问会给出边的编号 ei,请将树 T 中与该边关联的两个结点 uei 和 vei 的等级交换(该交换对后续所有操作均生效),然后对上述问题给出答案。
输入格式
输入按如下格式从标准输入读入。
N
u1 v1
u2 v2
⋮
uN−1 vN−1
A1 A2 … AN
Q
e1
e2
⋮
eQ
输出格式
输出 Q 行。第 i 行输出对于第 i 个询问,在等级交换操作后,是否能将树 T 变为仅含 1 个结点的树。若可以则输出 Yes,否则输出 No。
输入输出样例
输入#1
4 1 2 1 3 1 4 1 1 2 3 4 1 2 3 1
输出#1
Yes No No Yes
输入#2
15 1 2 1 3 2 4 1 5 1 6 4 7 1 8 7 9 2 10 2 11 2 12 11 13 11 14 2 15 2 3 13 4 8 10 7 9 11 12 1 1 6 14 5 1 11
输出#2
Yes
输入#3
20 1 2 1 3 2 4 1 5 2 6 5 7 4 8 3 9 6 10 7 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 4 4 7 3 8 2 8 6 4 2 3 3 4 5 6 5 4 3 3 6 10 8 19 5 9 19 10 19 19 10 19
输出#3
No No No No Yes No No No Yes No
说明/提示
部分分
- 若能正确解决 Q=1 的数据集,可得 20 分。
此外,下面给出的样例不在部分分数据集中。
样例解释 1
对于第 1 个询问,在进行结点 u1=1,v1=2 等级交换操作后,各结点 1,2,3,4 的当前等级依次为 1,1,2,3。
此时可以如图中红色边所示进行操作,最终得到仅含一个等级为 4 的结点的树(下图中结点编号所示的数字即结点的等级)。

因此第 1 行输出 Yes。
对于第 2 个询问,在进行结点 u2=1,v2=3 的等级交换后,各结点 1,2,3,4 的等级依次变为 2,1,1,3。
此时无法进行任意一次操作,无法将树变为一个结点。
因此第 2 行输出 No。
数据范围
- 所有输入均为整数。
- 2≤N≤2×105
- 1≤ui,vi≤N
- 1≤Ai≤N
- 1≤Q≤2×105
- 1≤ei≤N−1
- 给定的图保证为一棵树。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?