[SBT] [Tyvj P1728] 普通平衡树 (balanced)

本文介绍了一种使用平衡树实现高效数据结构的方法,支持插入、删除、查询排名等操作。通过对平衡树(SBT)的应用,实现了对整型数据的有效管理和检索,适用于需要频繁进行数据增删查的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

描述 Description

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

  1. 插入 x x x
  2. 删除 x x x数(若有多个相同的数,因只删除一个)
  3. 查询 x x x数的排名(若有多个相同的数,因输出最小的排名)
  4. 查询排名为 x x x的数
  5. x x x的前驱(前驱定义为小于 x x x,且最大的数)
  6. x x x的后继(后继定义为大于 x x x,且最小的数)

输入 Input

第一行为 n n n,表示操作的个数,下面 n n n行每行有两个数 o p t opt opt x x x o p t opt opt表示操作的序号 ( 1 ≤ o p t ≤ 6 ) (1≤opt≤6) (1opt6)

输出 Output

对于操作 3 , 4 , 5 , 6 3,4,5,6 3,4,5,6每行输出一个数,表示对应答案

样例输入 #1 Sample Input #1

8
1 10
1 20
1 30
3 20
4 2
2 10
5 25
6 -1

样例输出 #1 Sample Output #1

2
20
20
20

样例输入 #2 Sample Input #2

10
1 106465
4 1
1 317721
1 460929
1 644985
1 84185
1 89851
6 81968
1 492737
5 493598

样例输出 #2 Sample Output #2

106465
84185
492737

限制 Limits

1.n的数据范围: n ≤ 100000 n≤100000 n100000
2.每个数的数据范围: [ − 1 0 7 , 1 0 7 ] [-10^7,10^7] [107,107]
Time Lmit : 1 s 1s 1s & Memory Limit : 128 M B 128MB 128MB

标题都告诉平衡树了还写线段树?(雾)
直接SBT水过
顺便把SBT能干的都打出来了
上代码
Code

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值