Problem 1990 --#106. 二逼平衡树

1990: #106. 二逼平衡树

"
Time Limit $4$ 秒/Second(s) Memory Limit $512$ 兆字节/Megabyte(s)
提交总数 $5$ 正确数量 $4$
裁判形式 标准裁判/Standard Judge 我的状态 尚未尝试
难度 分类标签 数据结构

这是一道模板题。

您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:

  1. 查询 x  在区间内的排名;
  2. 查询区间内排名为 k  的值;
  3. 修改某一位置上的数值;
  4. 查询 x  在区间内的前趋(前趋定义为小于 x,且最大的数);
  5. 查询 x 在区间内的后继(后继定义为大于 x,且最小的数)。

第一行两个数 n,m 表示长度为 n  的有序序列和 m 个操作。
第二行有 n  个数,表示有序序列。

下面有 m  行,每行第一个数表示操作类型:

  1. 之后有三个数 l,r,x  表示查询 x 在区间 [l,r]  的排名;
  2. 之后有三个数 l,r,k  表示查询区间 [l,r] 内排名为 k 的数;
  3. 之后有两个数 pos,x 表示将 po位置的数修改为 x
  4. 之后有三个数 l,r,x表示查询区间 [l,r] x  的前趋;
  5. 之后有三个数 l,r,x  表示查询区间 [l,r] 内 x  的后继。

对于操作 1,2,4,5  各输出一行,表示查询结果。

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

1≤n,m≤5×104,−108≤k,x≤108 

推荐代码 查看1990 所有题解 上传题解视频得图灵币

本题记录 用 户(点击查看用户) 运行号(点击购买题解) 时 间
算法最快[$309 $ms] intLSY 513640 2019-11-03 17:43:02
内存最少[$155696 $KB] 淡意的温柔 590477 2020-06-04 15:38:32
第一AC intLSY 513640 2019-11-03 17:43:02
第一挑战 范晋豪@信息与计算科学142 108899 2017-07-02 23:12:56

赛题来源/所属竞赛 N/A

竞赛编号 竞赛名称 竞赛时间 访问比赛