type
status
date
slug
summary
tags
category
icon
password
C. 二叉查找树 II
时间限制:1000 ms内存限制:256 MB类型:传统评测:文本比较上传者:
题目描述
给定一个初始为空的二叉查找树。接下来执行若干次询问,询问有六种类型:
op = 1
,表示向二叉查找树中添加数值
op = 2
,表示删除二叉查找树中数值为 的一个节点,若不存在则忽略该操作
op = 3
,表示询问二叉查找树中,数值 的排名
op = 4
,表示询问二叉查找树中,排名第 的数值
op = 5
,表示询问二叉查找树中, 的前驱,即最大的 的数
op = 6
,表示询问二叉查找树中, 的后继,即最小的 的数
注意,这里的排名指的是,集合中小于 的数值个数 +1。
输入格式
第一行一个整数 ,表示询问次数。
接下来 行,每行两个整数,表示每次询问对应的操作。
- 对于所有
op = 4
的操作,保证 是不超过当前二叉查找树大小的正整数
- 对于所有
op = 5
的操作,保证 的前驱存在
- 对于所有
op = 6
的操作,保证 的后继存在
输出格式
对于
op > 2
的询问输出一行,一个整数,表示对应的结果。样例
样例输入复制
12
1 1
1 4
1 2
1 8
6 2
2 4
5 8
1 5
1 7
5 8
2 7
6 5
样例输出复制
4
2
7
8
数据范围与提示
所有测试数据的范围和特点如下表所示:
测试点编号 | ㅤ |
ㅤ | ㅤ |
ㅤ | ㅤ |
对于所有测试点,保证 。
- 对于所有
op = 1
的操作,保证 ,且 随机生成
- 对于所有
op = 2
的操作,保证
- 对于所有
op = 3
的操作,保证
- 对于所有
op = 4
的操作,保证 是不超过当前二叉查找树大小的正整数
- 对于所有
op = 5
的操作,保证 的前驱存在
- 对于所有
op = 6
的操作,保证 的后继存在
- Author:JingxiPan
- URL:http://github.com/article/e7e04728-098c-4b3b-aa0a-bf2a35a06f1b
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!