#2555. 动态区间问题
动态区间问题
Description
写一种数据结构(平 衡树)来维护一个有序数列,其中需要提供以下操作:
①查询在区间 内的排名;
②查询区间内排名为 的值;
③修改某一位置上的数值;
④ 查询在区间内的前驱(前驱指严格小于 且最大的数,若不存在,则 输出);
⑤查询在区间内的后继(后继指严格大于 且 最小的数,若不存在,则输出)。
Format
Input
第行包含两个整数 ,表示序列元素数量和操作数 量。
第行包含 个数,表示有序序列。
接下来的 行,表示操作标 号,
若,则为操作①,之后有个数,表示查询 在区间的排名;
若,则为操作②,之后有个数 ,表 示查询区间排名为的数;
若,则为操作③,之后有两 个数 ,表示将位置的数修改为 ;
若,则为操作④, 之后有个数 ,表示查询区间 的前驱;
若,则 为操作⑤,之后有个数 ,表示查询区间 的后继。 ,保证有序序列的所有值在任何时刻都满足。
Output
对操作①②④⑤各输出一行,表示查询结果。
Samples
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
来源
P3380/bzoj3196/Tyvj1730