QOJ.ac

QOJ

Límite de tiempo: 3 s Límite de memoria: 512 MB Puntuación total: 90

#11421. 层级结构

Estadísticas

Krešimir 开始研究公司结构,包括层级结构。他观察了公司内部员工及其关系。在这种情况下,我们只关注上下级关系,即一名员工直接隶属于另一名员工的关系。

层级结构是一种包含 $N$ 名员工和 $N-1$ 条上下级关系的结构,其中有一人直接或间接地是所有其他员工的上级。在所观察的公司中,也有 $N$ 名员工和 $N-1$ 条这样的关系,但不确定这是否是一个有效的层级结构。

Krešimir 请你帮忙回答这个问题。他记录了笔记本中的所有数据。此外,他将在笔记本中进行 $Q$ 次永久性更改,每次更改都会反转一条上下级关系,使得下属变为其原上级的上级。在每次更改后,都需要回答同一个问题:当前状态是否是一个有效的层级结构?

输入格式

第一行包含一个正整数 $N$ ($2 \le N \le 3 \cdot 10^5$)。

接下来的 $N-1$ 行,对于每个 $i = 1, 2, \dots, N-1$,包含一对整数 $p_i$ 和 $e_i$ ($1 \le p_i, e_i \le N, p_i \neq e_i$),表示 $p_i$ 直接是 $e_i$ 的上级。

下一行包含一个非负整数 $Q$ ($0 \le Q \le 10^6$)。

接下来的 $Q$ 行,包含一对整数 $a_i, b_i$ ($1 \le a_i, b_i \le N, a_i \neq b_i$)。保证在此时,$a_i$ 要么直接是 $b_i$ 的上级,要么反之。

在测试数据中,保证通过某种反转序列,至少可以达到一个层级结构。

输出格式

在接下来的 $Q+1$ 行中,对于每个给定的场景,需要输出当前结构是否为层级结构,即如果是,则输出 "DA",如果不是,则输出 "NE"(不含引号)。

子任务

子任务 分值 数据范围
1 7 $N \le 300, Q = 0$
2 12 $N, Q \le 300$
3 16 $N, Q \le 1000$
4 15 $Q = 0$
5 23 对于每个 $i = 1, 2, \dots, N-1$,满足 $i$ 直接是 $i+1$ 的上级或反之
6 17 无附加限制

样例

输入 1

3
1 2
1 3
3
1 2
1 2
1 3

输出 1

DA
DA
DA
DA

输入 2

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

输出 2

DA
NE
DA
DA
NE

Figure 1. 层级结构示意图

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.