QOJ.ac

QOJ

Límite de tiempo: 1 s Límite de memoria: 256 MB Puntuación total: 100

#18415. Dox Taurus Cows

Estadísticas

Porcellesi 爷爷的老农场可以表示为一个 $N \times M$ 的网格(带有围栏),其中每个单元格代表一公顷土地。行从上到下依次编号为 $0$ 到 $N - 1$,列从左到右依次编号为 $0$ 到 $M - 1$。

Porcellesi 按照以下方式规划围栏区域:只要还存在一个矩形区域,他就会在其中以该矩形左上角为左上角,围出尽可能大的正方形。因此,所有最小的围栏区域都是正方形。

图 1:一个 $N = 4$ 且 $M = 7$ 的农场示例。

除了其独特的拓扑结构外,Porcellesi 爷爷的农场里还居住着聪明的奶牛:Dox Taurus。这些奶牛也被称为量子奶牛,它们具有随意消失和重现的能力。(通过这种方式,奶牛可以在不同的围栏区域之间移动。)

Porcellesi 爷爷决定监控奶牛的移动:特别是,他会记录每次奶牛在农场某个单元格中出现或消失。

出于后勤原因,他希望知道在任何给定时刻,单个围栏区域内存在的最大奶牛数量。

正式地,给你 $Q$ 个以下三种类型之一的操作:

  • add (r, c):在单元格 $(r, c)$ 增加一头奶牛
  • remove (r, c):从单元格 $(r, c)$ 减少一头奶牛
  • count:返回当前时刻任意围栏区域内的最大奶牛数量

请帮助 Porcellesi 爷爷回答 Dox Taurus 奶牛的询问!

输入格式

输入共 $Q + 1$ 行:

  • 第 1 行:整数 $N, M, Q$
  • 第 $1 + i$ 行($1 \le i \le Q$):描述一个操作:
    • a r c:在 $(r, c)$ 增加一头奶牛
    • t r c:从 $(r, c)$ 减少一头奶牛
    • c:查询一个围栏正方形内的最大奶牛数量

输出格式

输出共 $C$ 行,其中 $C$ 是 count 类型查询的数量:

  • 第 $i$ 行:第 $i$ 次 count 类型查询返回的值

数据范围

  • $1 \le N, M \le 10^{18}$
  • $0 \le Q \le 200\,000$
  • 对于每个操作,$0 \le r < N$ 且 $0 \le c < M$
  • 农场初始为空
  • 每个移除操作都是合法的(即目标单元格中至少有一头奶牛)

子任务

子任务 分值 数据范围
1 0 仅样例
2 11 $N \le 50, M \le 50, Q \le 500$
3 21 $N \le 50, M \le 50, Q \le 20\,000$
4 20 $N$ 是 $M$ 的倍数
5 27 $Q \le 500$
6 21 无附加限制

样例

输入样例 1

4 7 8
a 2 1
a 1 4
a 0 5
a 3 5
c
t 0 5
a 3 5
c

输出样例 1

2
2

输入样例 2

13 9 17
a 10 5
a 11 8
c
a 9 6
c
t 10 5
c
a 11 8
a 11 8
c
t 11 8
t 11 8
c
a 9 0
a 9 4
a 10 1
c

输出样例 2

1
2
1
3
1
2

说明

在第一个样例中:

  • 农场初始为空。
  • 在处理前 4 个查询后,农场的状态如下:
    • 右上角的围栏区域(蓝色正方形)包含 2 头奶牛。
    • 第一次 count 查询返回 2。
  • 在处理接下来的查询后,含有最多奶牛的围栏区域现在有 2 头奶牛。
  • 第二次 count 查询也返回 2。

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.