QOJ.ac

QOJ

Limite de temps : 5.0 s Limite de mémoire : 1024 MB Points totaux : 100 Hackable ✓

#10985. 树上的完美西瓜游戏

Statistiques

给定一棵包含 $N$ 个顶点的树 $T$,顶点编号为 $1$ 到 $N$。第 $i$ 条边连接顶点 $u_i$ 和 $v_i$。

每个顶点都被赋予一个正整数,称为其“等级”(level)。初始时,顶点 $v = 1, 2, \dots, N$ 的等级为 $A_v$。

我们考虑在树 $T$ 上进行以下问题: 判断是否可以通过执行以下操作恰好 $N - 1$ 次,将树 $T$ 转化为仅包含单个顶点的树: * 选择一条端点等级相同的边并将其收缩。设 $l$ 为这两个端点的共同等级;则收缩后产生的新顶点的等级将为 $l + 1$。

你需要处理 $Q$ 次查询。在第 $i$ 次查询中,给定边编号 $e_i$。在交换树 $T$ 中顶点 $u_{e_i}$ 和 $v_{e_i}$ 的等级后(此交换会影响后续所有查询),输出上述问题的答案。

输入格式

输入按以下格式给出:

$N$ $u_1 \ v_1$ $u_2 \ v_2$ $\vdots$ $u_{N-1} \ v_{N-1}$ $A_1 \ A_2 \ \dots \ A_N$ $Q$ $e_1$ $e_2$ $\vdots$ $e_Q$

  • 所有输入值均为整数。
  • $2 \le N \le 2 \times 10^5$。
  • $1 \le u_i, v_i \le N$。
  • $1 \le A_i \le N$。
  • $1 \le Q \le 2 \times 10^5$。
  • $1 \le e_i \le N - 1$。
  • 给定图是一棵树。

输出格式

输出 $Q$ 行。对于第 $i$ 次查询,在交换顶点 $u_{e_i}$ 和 $v_{e_i}$ 的等级后,如果可以通过上述操作将 $T$ 转化为单顶点树,则输出 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

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

输出格式 2

No
No
No
No
Yes
No
No
No
Yes
No

说明

在第一个样例的第一次查询中,交换顶点 $u_1 = 1$ 和 $v_1 = 2$ 的等级后,顶点 $1, 2, 3, 4$ 的等级分别变为 $1, 1, 2, 3$。在这种情况下,可以通过执行操作(选择合适的边)使得树最终变为一个等级为 $4$ 的单顶点。因此,输出为 Yes。你可能觉得下图有所帮助。

图 1:第一个测试用例中第一次查询的示意图

在第二次查询中,交换顶点 $u_2 = 1$ 和 $v_2 = 3$ 的等级后,顶点 $1, 2, 3, 4$ 的等级分别变为 $2, 1, 1, 3$。在这种情况下,无法执行任何操作,因此不可能将树转化为单顶点。因此,输出为 No

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.