AT_tkppc2016_i.ボス(Boss)
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
joisino姐姐的下一个工作是调整Boss战的难度。
这个Boss的身体由像格子一样排列的细胞组成,从最左上角的细胞向右移动 x,向下移动 y 的位置的细胞用坐标 (x,y) 表示。
在与Boss的战斗过程中,将会发生 N 次事件。事件分为以下三种类型之一:
-
事件 1
- 给定整数 L,R。假设这是第 K 次事件 1,则 y 坐标为 K−1,x 坐标在 L 到 R 之间的细胞会被弱体化。
-
事件 2
- 给定整数 K,表示解除 y 坐标为 K 的细胞的弱体化。保证此时 y 坐标为 K 的细胞中一定存在被弱体化的细胞。
-
事件 3
- 给定整数 L,R,你有一次攻击Boss的机会。
- 你可以选择一个存在弱体化部分的 y 坐标 K,假设该 y 坐标下弱体化的细胞区间为 x 坐标 A 到 B,仅当 A<L 且 R<B 时,才能对该部分进行攻击。
- 攻击时,可以对Boss造成 (L−A)×(B−R) 的伤害。
为了调整难度,需要事先知道在所有事件 3 中,对Boss能够造成的最大伤害。
joisino姐姐的任务是编写一个程序,求出每次事件 3 能对Boss造成的最大伤害。
输入格式
输入通过标准输入给出。
- 第 1 行输入一个整数 N,表示接下来将发生的事件数 N(1≤N≤2×105)。
- 接下来的 N 行中,第 i 行描述第 i 个事件的信息。
- 每行的开头是一个整数 Ti(1≤Ti≤3),表示事件的类型。
- 若 Ti=1,则接下来有两个整数 Li(0≤Li≤109)、Ri(Li≤Ri≤109),表示这是第 K 次事件 1,则 y 坐标为 K−1,x 坐标在 Li 到 Ri 之间的细胞被弱体化。
- 若 Ti=2,则接下来有一个整数 Ki,表示解除 y 坐标为 Ki 的细胞的弱体化。
- 若 Ti=3,则接下来有两个整数 Li(0≤Li≤109)、Ri(Li≤Ri≤109),表示你有一次攻击Boss的机会。
输出格式
对于每一次事件 3,输出能够对Boss造成的最大伤害,输出一行。
如果没有任何 y 坐标可以进行攻击,则输出 −1。
输入输出样例
输入#1
9 1 0 10 1 2 12 3 5 5 3 8 9 2 0 3 5 5 3 8 9 2 1 3 5 5
输出#1
25 18 21 18 -1
输入#2
7 1 3 7 1 0 6 1 4 10 3 1 3 3 6 7 3 5 5 3 4 6
输出#2
3 6 5 1
输入#3
20 3 268323303 605806817 3 397106901 526645597 1 242167025 963419065 3 306157656 666722488 3 90905255 723611215 1 135062270 656996756 1 72048580 708895403 1 254360876 741288738 3 353173849 652094091 3 274378199 520888695 1 128877839 722596185 3 367349293 905356554 3 336742409 649201453 1 353239854 521572577 2 3 3 5185803 799351855 1 139746807 783110900 3 375190636 656724546 1 462675641 992773167 1 77055484 555060299
输出#3
-1 -1 18985801177770087 -1 34559196595622576 38039325599084252 7268396812754948 29717251314463008 -1 40797612391288109
说明/提示
配分
本题设有部分分。
- 数据集 1 满足 N(1≤N≤3×103),全部正确可得 5 分。
- 数据集 2 无额外限制,全部正确可得 155 分。
样例解释 1
- 前两次事件的弱体化后,Boss 的状态如下图所示(红色部分为弱体化区域)。

- 下一次攻击机会时,攻击 y 坐标 0,可以造成 (5−0)×(10−5)=25 的伤害。
- 下一次攻击机会时,攻击 y 坐标 1,可以造成 (8−2)×(12−9)=18 的伤害。
- 下一次弱体化解除后,Boss 的状态如下图所示。

- 下一次攻击机会时,攻击 y 坐标 1,可以造成 (5−2)×(12−5)=21 的伤害。
- 下一次攻击机会时,攻击 y 坐标 1,可以造成 (8−2)×(12−9)=18 的伤害。
- 下一次弱体化解除后,Boss 的状态如下图所示。

- 下一次攻击机会时,没有可以攻击的 y 坐标,因此输出 −1。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?