luogu#P11139. [APC001] D - Array Again

[APC001] D - Array Again

题目描述

你需要维护一个数列,支持 44 种操作:

  1. 1 x y:连续向数列中插入 yy 个数 xx
  2. 2 x y:连续在数列中删除 yyxx。如果在某一次删除中 xx 已经不存在于数列中,则忽略此操作。
  3. 3:对数列进行去重,即,对于每个在数列中出现过的不同的正整数 xx,如果它在数列中出现了大于 11 次,则只在数列中保留一个 xx,其余全部删除。
  4. 4 x:查询数列中 xx 的出现次数。

对于每个操作 44,请求出其答案。

输入格式

第一行一个整数 qq,表示询问次数。

接下来 qq 行,每行若干个整数,表示一次操作。

输出格式

对于每次操作 44 输出一行,表示其答案。

数据保证至少有一次操作 44

5
1 2 10
2 2 5
4 2
3
4 2
5
1
4
1 1000000000 1000000000
1 1000000000 1000000000
1 1000000000 1000000000
4 1000000000
3000000000
20
4 95002957
2 384405322 255642125
2 384405322 174926753
2 384405322 51265222
1 384405322 311383201
4 384405322
1 384405322 5464229
4 22438767
4 17075617
1 384405322 153189933
1 230228188 148299369
1 7168162 387115701
1 384405322 154480360
1 384405322 438458686
3
1 7961090 98996809
4 153074129
1 975025351 171484003
1 384405322 650527951
4 384405322
0
311383201
0
0
0
650527952

提示

样例解释 11

11 次操作:插入 101022

22 次操作:删除 5522。此后数列中只包含 5522

33 次操作:查询 22 的出现次数,共 55 次。

44 次操作:对数列进行去重。此后数列中只包含一个 22

55 次操作:查询 22 的出现次数,共 11 次。

样例解释 22

请注意答案可能会超过 int 的范围。

数据范围

对于 100%100\% 的数据,1q1051\le q\le 10^51x,y1091\le x,y\le 10^9

请注意:由于本题所在比赛没有部分分,故只有通过所有的测试点才可以获得满分,否则会获得 00 分。