1301. 飘香盛会

时间限制 1000 ms   内存限制 128 MB

TT是个富甲一方的大富豪。作为一个富有激情和创造力的新时代青年,他早做腻了一般的买卖,决定顺应时代潮流,开一家网络公司。由于他从小就热爱网络游戏,所以TT决定把网络游戏作为他的第一个经营项目。 由于TT的制作团队相当强大,所以TT很快就开发出了一个绝对能盖过暴雪出的一堆游戏的的超牛网络游戏,一夜之间风靡全球,TT也再次发了一笔财。当然TT对钱并不感兴趣,他更感兴趣的是游戏本身。 TT的网络游戏会根据玩家的各方面给玩家一个实力积分。TT最喜欢的做的事情是选出一些有代表性的玩家,然后按一种特别的顺序排成一个序列,然后调查连续的一段中积分不超过$V$的玩家有多少个,以得知这一片玩家是否实力太弱。当然这个序列是会经常改变的,TT经常会把看不顺眼的玩家T掉、在中间加入一个玩家。并且,玩家的积分也是经常会变的。 刚开始的时候,由于TT选的人不多,这个序列用他的开发团队写的一个简单程序还可以勉强维护。但人一多起来,TT就有些觉得不爽了,所以他决定请你给他写个程序来解决这个问题。

输入数据

输入文件的第一行包含两个整数$n$和$Q$,$n$代表一开始TT所选玩家个数,$Q$表示TT的操作数。
接下来一行包含$n$个整数,表示一开始TT选的各个玩家的积分。
接下来的Q行,每行第一个整数$o$表示本次的操作类型:
若$o=0$,则接下来三个整数$a,b,c$表示TT询问第$a$个人到第$b$个人之间积分不超过$c$的有多少个。
若$o=1$,则接下来两个整数$p,v$表示TT在第$p$个人后面插入了一个积分为$v$的玩家。若$p=0$,则表示将该玩家插在序列开头。
若$o=2$,则接下来一个整数$p$表示TT将第$p$个人从序列中删除。
若$o=3$,则接下来两个整数$p,v$表示TT将第$p$个玩家的积分更新为$v$。

对于$20\%$的数据$n \le 10000,Q \le 10000$
对于$100\%$的数据$n \le 100000,Q \le 100000$,所有输入整数在maxlongint以内。

输出数据

对于每个$o=0$的操作,输出一行包含一个整数,表示该问题的答案。

样例输入

复制
5 8
10 2 6 1 5 
1 1 7
3 5 5
2 5
0 3 5 8
1 2 7
0 2 5 10
0 3 6 2
2 3 · \n
  · · · · \n
 · · \n
 · · \n
 · \n
 · · · \n
 · · \n
 · · ·  \n
 · · · \n
 · \n

样例输出

复制
3
4
1 \n
 \n
 \n

提交

请先 登录

Source

NOI2008模拟 From  刘鹰

© 2026 FAQs Contact About