80 lines
1.1 KiB
Markdown
80 lines
1.1 KiB
Markdown
|
# 值域查询II
|
|||
|
|
|||
|
## 题目描述
|
|||
|
|
|||
|
你需要维护一个数的集合(初始集合为空集),支持:
|
|||
|
|
|||
|
- `1 x`: 插入一个值为 $x$ 的数;
|
|||
|
|
|||
|
- `2 x`: 删除一个值为 $x$ 的数,保证存在,若有多个只删除 $1$ 个;
|
|||
|
|
|||
|
- `3 l r`: 询问所有满足 $l\le x\le r$ 的 $x$ 的和;
|
|||
|
|
|||
|
- `4 x`: 询问集合中 $\le x$ 的最大数,若没有输出 `-1`;
|
|||
|
|
|||
|
- `5 x`: 询问集合中 $\ge x$ 的最小数,若没有输出 `-1`;
|
|||
|
|
|||
|
## 输入格式
|
|||
|
|
|||
|
第一行1个整数 $q$,代表操作数
|
|||
|
|
|||
|
接下来 $q$ 行,每行1个操作
|
|||
|
|
|||
|
## 输出格式
|
|||
|
|
|||
|
对于每个3、4、5操作,输出结果
|
|||
|
|
|||
|
## 样例 #1
|
|||
|
|
|||
|
### 样例输入 #1
|
|||
|
|
|||
|
```
|
|||
|
9
|
|||
|
1 1
|
|||
|
1 2
|
|||
|
3 1 3
|
|||
|
4 1
|
|||
|
5 2
|
|||
|
2 2
|
|||
|
3 1 2
|
|||
|
4 1
|
|||
|
5 2
|
|||
|
```
|
|||
|
|
|||
|
### 样例输出 #1
|
|||
|
|
|||
|
```
|
|||
|
3
|
|||
|
1
|
|||
|
2
|
|||
|
1
|
|||
|
1
|
|||
|
-1
|
|||
|
```
|
|||
|
|
|||
|
## 样例 #2
|
|||
|
|
|||
|
### 样例输入 #2
|
|||
|
|
|||
|
```
|
|||
|
见下发样例
|
|||
|
```
|
|||
|
|
|||
|
### 样例输出 #2
|
|||
|
|
|||
|
```
|
|||
|
|
|||
|
```
|
|||
|
|
|||
|
## 提示
|
|||
|
|
|||
|
对于20%的数据,$1\le q,x,l,r\le 100$
|
|||
|
|
|||
|
对于另10%的数据,$1\le q\le 10^5, 0\le x,l,r\le 100$
|
|||
|
|
|||
|
|
|||
|
对于另20%的数据,$1\le q\le 10^5, 0\le x,l,r\le 10^5$, 没有4、5操作
|
|||
|
|
|||
|
对于另30%的数据,$1\le q\le 10^5, 0\le x,l,r\le 10^5$
|
|||
|
|
|||
|
对于100%的数据,$1\le q\le 10^5, 0\le x,l,r\le 10^9$
|