AT_abc411_d [ABC411D] Conflict 2
题目描述
你有一台 **服务器** 和 $N$ 台 **个人电脑(PC)**。服务器和每台 PC 各自都持有一个字符串,初始时,这些字符串均为空串(`""`)。
接下来你会收到 $Q$ 个操作(查询),每个操作是以下三种类型之一:
* `1 p`:将 PC $p$ 的字符串 **用服务器的字符串替换**。
* `2 p s`:在 PC $p$ 的字符串 **末尾追加字符串** $s$。
* `3 p`:将服务器的字符串 **用 PC $p$ 的字符串替换**。
请你依照操作顺序处理完所有操作,输出最终的服务器字符串。
输入格式
第一行输入两个整数 $N$ 和 $Q$。
接下来的 $Q$ 行:每行一个查询,格式如上所述。
输出格式
输出服务器的最终字符串。
说明/提示
### 限制条件
* $1 \le N, Q \le 2 \times 10^5$
* 所有 `p` 的值都满足 $1 \le p \le N$
* 所有追加的字符串 $s$ 由小写字母组成,且长度之和不超过 $10^6$
### 样例 1 解释
1. 初始状态:服务器、PC1、PC2 的字符串都是 `""`
2. `2 1 at`:PC1 变为 `"at"`
3. `3 1`:服务器变为 `"at"`
4. `2 2 on`:PC2 变为 `"on"`
5. `1 2`:PC2 被服务器 `"at"` 替换,变为 `"at"`
6. `2 2 coder`:PC2 追加 `"coder"`,变为 `"atcoder"`
7. `3 2`:服务器变为 `"atcoder"`
最终服务器字符串为:`atcoder`
由 ChatGPT 4o 辅助翻译。