#P2985. The <i>k</i>-th Largest Group

    ID: 1986 远端评测题 2000ms 128MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>树结构并查集搜索POJ Monthly--2006.08.27zcgzcgzcg

The <i>k</i>-th Largest Group

本题没有可用的提交语言。

题目描述

纽曼(Newman)喜欢和猫玩耍。他家里养了很多猫。由于猫的数量非常庞大,纽曼想要将一些猫分组。为此,他首先给每只猫编号(1, 2, 3, ..., n)。然后,他偶尔会将猫ii所在的组和猫jj所在的组合并,从而形成一个新的组。除此之外,纽曼还希望在任何时候知道第kk大的组的大小。作为纽曼的朋友,你能帮助他吗?

输入格式

  • 第一行:两个数字NNMM1N,M2000001 ≤ N, M ≤ 200\,000),分别表示猫的数量和操作的数量。
  • 接下来的MM行:每行有一个数字CC表示操作的类型。
    • 如果C=0C = 0,那么后面跟着两个数字iijj1i,jn1 ≤ i, j ≤ n),表示纽曼希望将包含这两只猫的组合并(如果这两只猫已经在同一个组中,则无需操作)。
    • 如果C=1C = 1,那么后面跟着一个数字kk1k1 ≤ k ≤当前组的数量),表示纽曼希望知道第kk大的组的大小。

输出格式

对于每一个C=1C = 1的操作,输出一行,表示当前第kk大的组的大小。

示例输入 1

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

1
2
2
2
2

提示

当有三个数字2、2和1时,第2大的数字是2,第3大的数字是1。