Skip to content

1133: 二哥吃糖

题目

题目描述

二哥有N个盒子,每个盒子里面都有一块糖。

二哥无聊的时候就做以下几种事情:

  1. 把某两个盒子里面的糖拿出来放在一个新的盒子里面

  2. 吃掉某一个盒子里面的所有的糖

  3. 数数当前糖果数第P多的盒子里面有几块糖

后来二哥觉得总吃糖不好,但是还忍不住要做这些事,所以就只好写程序来模拟这些……

输入格式

第一行两个数N(初始糖果数)和M(操作数),糖果编号为1到N

下面M行,每行表示一个操作

C x y 把糖果x所在盒子与和糖果y所在盒子进行合并。如果x或者y已经被吃掉,或者x与y本来就在同一个盒子里,则什么也不做

D x 吃掉糖果x所在的盒子里面的糖,同样,如果x已经被吃掉,则什么也不做

Q p 询问当前糖果数第p多的盒子里面的糖果数量,如果剩下的有糖果的盒子数量小于p,则输出0。所有的p都在1到10之间

输出格式

对于每个Q操作,输出一个数(糖果数量),占一行

样例输入

20 10
C 1 2
C 3 4
Q 2
Q 7
C 1 5
C 2 5
Q 1
D 5
Q 2
Q 1

样例输出

2
1
3
1
2

数据范围

$ 1 \leq M \leq 50000,1 \leq N \leq 500000 $

其他数字都在1到N之间

Oops! 本题目还没有解答!

助教老师们编题的速度,已经超过了解题的速度!

OJ翻了一新,但本解答集还大多用的是2017-2019级,甚至更早的同学们贡献的答案。

如果你已经AC了,可以的话,请您参考添加页面,与大家一起分享你的题解!