QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 256 MB Total points: 100

#12207. 地面施工

Statistics

兔子喜欢挖洞并建造地下通道。包括它自己在内,共有 $N$ 只兔子,编号为 $0$ 到 $N-1$。共有 $N$ 个小屋,编号为 $0$ 到 $N-1$,兔子 $x$ 住在小屋 $x$ 中。

有一天,它们听说有人要建造一些地下通道。通过这些建造,兔子们将能够通过这些通道前往其他兔子的住所,它们会为此感到高兴。

由于某些原因,已建成的通道可能会被摧毁。建造或摧毁操作将逐一进行,在每次建造或摧毁期间,每只兔子都待在自己的房间里。

兔子们想知道在建造过程的某些阶段,某些兔子对是否可以通过地下通道相遇。注意,所有通道都是双向的,且所有兔子都非常友好,它们可以自由地穿过其他兔子的住所。请编写一个程序,处理有关通道建造或摧毁以及兔子询问的信息。

输入格式

输入按以下格式给出:

$N \ K$ $T_1 \ A_1 \ B_1$ $\vdots$ $T_K \ A_K \ B_K$

第一行包含两个整数 $N$ 和 $K$ ($2 \le N \le 40\,000, 1 \le K \le 40\,000$)。接下来的 $K$ 行包含建造或摧毁的信息以及兔子的询问,按操作发生的顺序排列。其中第 $i$ 行包含三个整数 $T_i, A_i$ 和 $B_i$ ($1 \le T_i \le 3, 0 \le A_i < B_i \le N - 1$)。

  • 如果 $T_i = 1$,则建造一条连接小屋 $A_i$ 和小屋 $B_i$ 的通道。此信息仅在小屋 $A_i$ 和小屋 $B_i$ 之间不存在通道时出现。
  • 如果 $T_i = 2$,则摧毁一条连接小屋 $A_i$ 和小屋 $B_i$ 的通道。此信息仅在小屋 $A_i$ 和小屋 $B_i$ 之间存在通道时出现。
  • 如果 $T_i = 3$,这是一次兔子的询问:兔子 $A_i$ 和兔子 $B_i$ 能否通过地下通道相遇?

输出格式

对于每个 $T_i = 3$ 的询问,你的程序应输出一行。如果兔子 $A_i$ 和兔子 $B_i$ 在该时刻可以相遇,则输出 YES,否则输出 NO

样例

输入 1

4 10
1 0 1
1 0 2
3 1 2
2 0 1
1 2 3
3 0 1
1 0 1
2 0 2
1 1 3
3 0 2

输出 1

YES
NO
YES

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.