#ABC298C. 卡片查询问题

卡片查询问题

卡片查询问题

题目描述

我们有 NN 个编号为 11NN 的盒子,初始时均为空,另有无限张空白卡片。

按顺序处理 QQ 个查询,查询共有以下三种类型。

1 i j : 在一张空白卡片上写上数字 ii,放入盒子 jj

2 i : 将盒子 ii 中所有卡片上写有的数字按升序输出。

3 i : 将所有含有写有数字 ii 的卡片的盒子编号按升序输出。

这里,请注意以下几点。

在第二类查询中,如果盒子 ii 中有多张写有相同数字的卡片,该数字要按卡片张数重复输出。

在第三类查询中,即使某个盒子中有多张写有数字 ii 的卡片,该盒子的编号也只输出一次。

输入格式

输入按以下格式从标准输入给出:

NN
QQ
query1\mathrm{query}_1
query2\mathrm{query}_2
\vdots
queryQ\mathrm{query}_Q

其中,queryq\mathrm{query}_q 表示第 qq 个查询,格式为以下三种之一:

11 ii jj

22 ii

33 ii

输出格式

按顺序回答第二类和第三类查询。

对于每个此类查询,将需要输出的元素按升序排成一行,用空格分隔后输出。

样例

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

按顺序处理查询。

在卡片上写 11,放入盒子 11

在卡片上写 22,放入盒子 44

在卡片上写 11,放入盒子 44

盒子 44 中有写有数字 1122 的卡片。

按此顺序输出 1122

在卡片上写 11,放入盒子 44

盒子 44 中有写有数字 111122 的卡片。

注意要把 11 输出两次。

盒子 1144 中有写有数字 11 的卡片。

注意即使盒子 44 中有两张写有数字 11 的卡片,44 也只输出一次。

盒子 44 中有写有数字 22 的卡片。

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

数据范围

  • 1N,Q2×1051 \le N, Q \le 2 \times 10^5
  • 第一类查询:
    • 1i2×1051 \le i \le 2 \times 10^5
    • 1jN1 \le j \le N
  • 第二类查询:
    • 1iN1 \le i \le N
    • 给出该查询时,盒子 ii 中装有卡片。
  • 第三类查询:
    • 1i2×1051 \le i \le 2 \times 10^5
    • 给出该查询时,存在装有写有数字 ii 的卡片的盒子。
  • 需要输出的数字总数至多为 2×1052 \times 10^5
  • 输入中的所有值均为整数。
难度 普及
通过率
尝试 0
已通过 0
ID
2903
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签