#A666P292. 鸽子与鸽巢

鸽子与鸽巢

问题陈述

NN 只鸽子,编号从 11NN ,有 NN 个鸽巢,编号从 11NN 。最初,鸽子 ii1iN1\leq i\leq N 的巢 ii 中。

您会收到 QQ 个操作,您必须按顺序处理这些操作。操作有两种类型,每种都以下列格式之一给出:

  • 操作1: 1 P H : 将鸽子 PP 移至鸽巢 HH
  • 操作2: 2 : 输出包含一只以上鸽子的鸽巢数量。

输入格式

第一行包含两个整数,NNQQ 分别代表鸽子鸽巢的数量和查询次数;
接下来的QQ行,每行包含一个操作。

输出格式

若干行,每行输出所有 操作2 所查询的鸽巢数量。

4 7
2
1 1 2
2
1 3 2
2
1 3 4
2
0
1
1
2

最初,鸽子 1,2,3,41,2,3,4 分别在鸽巢 1,2,3,41,2,3,4 中。

  • 对于第 1 次操作,鸽巢 1,2,3,41,2,3,4 中的鸽子数量为 1,1,1,11,1,1,1 。没有鸽巢包含多只鸽子,输出为 00
  • 对于第 2 个操作,将鸽子 11 移至鸽巢 22
  • 对于第 3 次操作,计数分别变为 0,2,1,10,2,1,1 。一个鸽巢(巢 22 )包含多羽鸽子,因此输出 11
  • 对于第 4 次操作,将鸽子 33 移至鸽巢 22
  • 对于第 5 次操作,计数分别变为 0,3,0,10,3,0,1 。一个巢(巢 22 )包含多羽鸽子,因此输出 11
  • 对于第 6 次操作,将鸽子 33 移至鸽巢 44
  • 对于第 7 次操作,计数分别变为 0,2,0,20,2,0,2 。有两个鸽巢( 2244 )包含多羽鸽子,因此输出 22
5 10
2
1 4 3
1 4 5
2
1 3 1
2
1 2 3
1 2 5
1 1 3
2
0
1
2
1

数据范围

对于50%50\%的数据,

  • 2N1032 \leq N \leq 10^3
  • 1Q1×1031 \leq Q \leq 1\times 10^3

对于100%100\%的数据,

  • 2N1062 \leq N \leq 10^6
  • 1Q3×1051 \leq Q \leq 3\times 10^5
  • 1P,HN1 \leq P, H \leq N
  • 对于第一种类型的操作,鸽子 PP 在移动之前不在鸽巢 HH 中。
  • 所有输入值均为整数。