QOJ.ac

QOJ

时间限制: 10.0 s 内存限制: 1024 MB 总分: 100

#11637. 节日标志

统计

在节日期间,广告牌会在不同时刻被添加或移除。每个广告牌呈矩形,垂直于地面放置,且底边紧贴地面。

网络摄像头正在直播节日现场,显示舞台的二维图像。在该图像中,底边对应地面。每个广告牌覆盖图像中的一个矩形区域。一个广告牌由区间 $[A, B]$ 和高度 $H$ 描述,意味着它覆盖了图像中所有满足 $A \le x \le B$ 且 $0 \le y < H$ 的点 $(x, y)$。

注意,广告牌覆盖了矩形的底边和侧边,但不覆盖顶边。此外,代表不同广告牌的矩形可能会重叠。

在直播过程中,管理员会在不同时刻进行多次查询。每次查询指定一个区间 $[L, R]$,并询问在所有满足 $L \le x \le R$ 的未被覆盖的点 $(x, y)$ 中,高度 $y \ge 0$ 的最小值,其中 $x$ 和 $y$ 为实数。

你的任务是编写一个程序来处理 $N$ 个事件的序列:添加广告牌、移除广告牌,以及关于给定区间内最小未覆盖高度的查询。

作为示例,考虑以下按时间顺序给出的 $N = 7$ 个事件的序列(见下图):

  • 添加区间为 $[A, B] = [2, 5]$、高度为 $H = 3$ 的广告牌。
  • 添加区间为 $[A, B] = [4, 7]$、高度为 $H = 5$ 的广告牌。
  • 进行查询 $[1, 10]$。该查询的答案为 $0$。区间内具有最小高度的未覆盖点,例如坐标为 $(1.5, 0)$ 的点。
  • 进行查询 $[2, 7]$,答案为 $3$。
  • 进行查询 $[4, 5]$,答案为 $5$。
  • 移除第二个添加的广告牌。
  • 进行查询 $[4, 5]$,答案为 $3$。注意,移除第二个添加的广告牌改变了查询 $[4, 5]$ 的答案。

输入格式

第一行包含一个整数 $N$ ($1 \le N \le 2 \cdot 10^5$),表示事件的数量。

接下来的 $N$ 行按时间顺序描述每个事件。行的内容取决于事件类型,如下所示:

  • 添加广告牌:该行包含字符 “+” 和三个整数 $A, B, H$ ($1 \le A, B, H \le 10^9$ 且 $A < B$),表示添加一个广告牌,覆盖如题目所述的图像矩形。每个添加的广告牌被分配一个从 $1$ 开始的顺序整数标识符。
  • 移除广告牌:该行包含字符 “-” 和一个整数 $I \ge 1$,表示移除标识符为 $I$ 的广告牌。保证 $I$ 标识的是一个已添加且尚未被移除的广告牌。
  • 查询:该行包含字符 “?” 和两个整数 $L$ 和 $R$ ($1 \le L < R \le 10^9$),询问如题目所述在区间 $[L, R]$ 内的最小未覆盖高度。保证输入中至少包含一个查询。

输出格式

对于每个查询,输出一行,包含一个整数,表示对应区间内的最小未覆盖高度。

样例

样例输入 1

7
+ 2 5 3
+ 4 7 5
? 1 10
? 2 7
? 4 5
- 2
? 4 5

样例输出 1

0
3
5
3

样例输入 2

4
+ 1 2 1
+ 3 4 1
? 1 2
? 1 4

样例输出 2

1
0

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.