请你写出一种数据结构,来维护一个长度为
-
1 l r x
,查询整数$x$ 在区间$[l,r]$ 内的排名。 -
2 l r k
,查询区间$[l,r]$ 内排名为$k$ 的值。 -
3 pos x
,将$pos$ 位置的数修改为$x$ 。 -
4 l r x
,查询整数$x$ 在区间$[l,r]$ 内的前驱(前驱定义为小于$x$ ,且最大的数)。 -
5 l r x
,查询整数$x$ 在区间$[l,r]$ 内的后继(后继定义为大于$x$ ,且最小的数)。
数列中的位置从左到右依次标号为
区间
区间内排名为
第一行包含两个整数
第二行包含
接下来
对于所有操作
有序数列中的数字始终满足在
数据保证所有操作一定合法,所有查询一定有解。
9 6
4 2 2 1 9 4 0 1 1
2 1 4 3
3 4 10
2 1 4 3
1 2 5 9
4 3 9 5
5 2 8 5
2
4
3
4
9