#AT2543. C - Cards Query Problem

C - Cards Query Problem

当前没有测试数据。

C-卡片查询问题

得分: $300$ 分

问题描述

我们有 $N$ 个编号为 $1$ 到 $N$ 的初始为空的盒子,以及无限数量的空白卡片。
按照顺序处理 $Q$ 个查询。以下是三种类型的查询。

  • 1 i j $\colon$ 在一张空白卡片上写下数字 $i$ 并将其放入盒子 $j$。
  • 2 i $\colon$ 按升序报告盒子 $i$ 中所有卡片上的数字。
  • 3 i $\colon$ 按升序报告包含数字 $i$ 的盒子的盒子编号。

注意以下事项。

  • 对于第二种查询,如果盒子 $i$ 包含多张相同数字的卡片,则应该将该数字打印的次数与这些卡片的数量相同。
  • 对于第三种查询,即使一个盒子包含多张数字 $i$ 的卡片,也应该只打印一次该盒子的盒子编号。

约束

  • $1 \leq N, Q \leq 2 \times 10^5$
  • 对于第一种查询:
    • $1 \leq i \leq 2 \times 10^5$
    • $1 \leq j \leq N$
  • 对于第二种查询:
    • $1 \leq i \leq N$
    • 当进行该查询时,盒子 $i$ 包含一些卡片。
  • 对于第三种查询:
    • $1 \leq i \leq 2 \times 10^5$
    • 当进行该查询时,一些盒子包含一个数字 $i$ 的卡片。
  • 最多报告 $2 \times 10^5$ 个数字。
  • 输入中的所有值都是整数。

输入

从标准输入获取输入,输入的格式如下:

NN

QQ

query1\mathrm{query}_1

query2\mathrm{query}_2

\vdots

queryQ\mathrm{query}_Q

其中,$\mathrm{query}_q$ 表示第 $q$ 个查询,查询格式如下:

``` $1$ $i$ $j$ ``` ``` $2$ $i$ ``` ``` $3$ $i$ ```

输出

按照顺序回答第二种和第三种查询。
对于每个查询,打印一行,包含按升序排列的要报告的元素,元素之间有空格。


5
8
1 1 1
1 2 4
1 1 4
2 4
1 1 4
2 4
3 1
3 2
1 2
1 1 2
1 4
4

让我们按顺序处理查询。

  • 将数字 $1$ 写在卡片上并放入盒子 $1$。
  • 将数字 $2$ 写在卡片上并放入盒子 $4$。
  • 将数字 $1$ 写在卡片上并放入盒子 $4$。
  • 盒子 $4$ 包含数字 $1$ 和 $2$ 的卡片。
    • 按照这个顺序打印数字 $1$ 和 $2$。
  • 将数字 $1$ 写在卡片上并放入盒子 $4$。
  • 盒子 $4$ 包含数字 $1$、$1$ 和 $2$ 的卡片。
    • 注意应该将数字 $1$ 打印两次。
  • 盒子 $1$ 和 $4$ 包含数字 $1$ 的卡片。
    • 注意,即使盒子 $4$ 包含两张数字 $1$ 的卡片,也只应该打印盒子编号 $4$ 一次。
  • 盒子 $4$ 包含数字 $2$ 的卡片。

1
5
1 1 1
1 2 1
1 200000 1
2 1
3 200000
1 2 200000
1