U143214.今天植树节……骗你的,不是
NOI/NOI+/CTSC
COCI
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
题目背景
STEVE在更多的树苗mod中发现了一种神奇的树苗,名为 “二叉树树苗” 。这种树苗种下后,不会长出枝叶,而是在数据世界中自动构建一棵完美的二叉搜索树(BST)。史蒂夫可以在任意整数坐标上种下一棵树苗,每个坐标只能种一棵,树苗的高度可以是任意整数(负数代表枯萎)。
他每天进行四种操作:
- 种树:在位置
x种一棵高度为h的树苗。 - 砍树:移除位置
x的树苗。 - 查询:询问位置
x的树苗高度。 - 最高树:询问当前所有树苗中,高度最高的那棵的位置和高度。
史蒂夫是个极简主义者,他要求你必须使用二叉树(如二叉搜索树、红黑树、AVL树等)来实现这些操作,否则他会嫌你代码太“线性”而拒绝接收。
输入格式
输入格式
第一行一个整数 n(1 ≤ n ≤ 2×10^5),表示操作总数。
接下来 n 行,每行一个操作,格式为:
plant x h:在位置x种一棵高度为h的树苗。remove x:移除位置x的树苗。query x:查询位置x的树苗高度。max:查询当前所有树苗中高度最高的那棵的位置和高度。
所有 x 和 h 均为整数,范围 [-10^9, 10^9]。
输出格式
输出格式
- 对于每个
query x,若该位置有树苗,输出其高度,否则输出-1。 - 对于每个
max,若存在树苗,输出位置和高度(空格分隔),否则输出-1 -1。
输入输出样例
输入#1
6 plant 5 10 plant 3 7 query 5 max plant 5 20 query 5
输出#1
10 3 7 10
说明/提示
数据范围与约定
1 ≤ n ≤ 2×10^5x, h ∈ [-10^9, 10^9]- 时间限制:
2s - 内存限制:
256MB
输入解题思路,AI测评打分。不知道怎么写?