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 辅助翻译。