#9823. 猫咪分组

    ID: 9823 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>树状数组并查集树状数组找第K动态排名

猫咪分组

题目描述

纽曼喜欢和猫咪玩耍。他家里有很多只猫。因为猫的数量非常庞大,纽曼想要将一些猫分组。为此,他首先给每只猫编号(1,2,3,,n1,2,3,…,n )。然后他偶尔会将猫 ii 所在组和 猫 jj 所在组合并,从而创建一个新的组。此外,纽曼想要随时知道第 kk 大的组的大小。所以,作为纽曼的朋友,你能帮帮他吗?

输入格式

第一行:两个数字 nnmm,即猫的数量和操作的次数。

22 行到第( m+1m+1 )行:每行包含一个数字 CC,指定纽曼想要执行的操作类型。如果 C=0C = 0,则后面有两个数字 iijj1i,jn1 \le i,j \le n),表示纽曼想要合并包含这两只猫的组(如果这两只猫已经在同一组中,则不执行任何操作);如果 C=1C=1,则后面只有一个数字 kk1k1 \le k \le 当前组的数量),表示纽曼想要知道第 kk 大的组的大小。

输出格式

对于输入中的每个操作 11,输出一个数字,表示第 kk 大的组的大小。

10 10
0 1 2
1 4
0 3 4
1 2
0 5 6
1 1
0 7 8
1 1
0 9 10
1 1
1
2
2
2
2

样例分析

当有三个数字 222211 时,第 22 大的数字是 22,第 33 大的数字是 11

数据范围与提示

对于 100%100\% 的数据:1n,m2×1051 \le n,m \le 2\times 10^5