#P406. 「线段树套平衡树模板」二逼平衡树
「线段树套平衡树模板」二逼平衡树
Description
这是一道模板题。
您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:
-
查询 在区间内的排名;
-
查询区间内排名为 的值;
-
修改某一位置上的数值;
-
查询 在区间内的前趋(前趋定义为小于 ,且最大的数);
-
查询 在区间内的后继(后继定义为大于 ,且最小的数)。
Input Format
第一行两个数 ,表示长度为 的有序序列和 个操作。
第二行有 个数,表示有序序列。
下面有 行,每行第一个数表示操作类型:
-
之后有三个数 表示查询 在区间 的排名;
-
之后有三个数 表示查询区间 内排名为 的数;
-
之后有两个数 表示将 位置的数修改为 ;
-
之后有三个数 表示查询区间 内 的前趋;
-
之后有三个数 表示查询区间 内 的后继。
Output Format
对于操作 各输出一行,表示查询结果。
Sample
样例输入
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
Hint
$ 1 \leq n, m \leq 5 \times 10 ^ 4, -10 ^ 8 \leq k, x \leq 10 ^ 8 $