C. 战场模拟器 (simulator)

    Type: Default File IO: simulator 1000ms 256MiB

战场模拟器 (simulator)

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

战场模拟器中,NN 个英雄正在与魔王战斗。

NN 个英雄排成一排,其中位置 i (1iN)i\ (1 \leq i \leq N)的英雄最初的生命值为 AiA_i

在每个时刻,每个英雄都有以下其中一种状态:

  • 生命值 < 0 的英雄被视为死亡,而已经死亡的英雄则会永远死亡。
  • 生命值 = 0 的英雄被视为濒死。他们还未死亡,但处于危险之中。
  • 生命值 > 0 的英雄被视为健康。

总共有 QQ 个事件,依时间顺序发生:

  1. 1 L R x: 魔王攻击从位置 LL 到位置 RR(含)的英雄。对于每个英雄 ii (LiRL \leq i \leq R),英雄 ii 的生命值会减少 xx

  2. 2 L R x: 法师治疗从位置 LL 到位置 RR(含)的英雄。对于每个英雄 ii (LiRL \leq i \leq R),如果英雄 ii 还没有死亡,那么英雄 ii 的生命值会增加 xx

  3. 3 h: 为英雄 hh 提供护盾,防止下次攻击对 hh 造成伤害。一个英雄可以拥有多个护盾,而每次受到攻击都会消耗一个护盾。

  4. 4 L R: 查询从位置 LL 到位置 RR(含)之间死亡的英雄数量。

  5. 5 L R: 查询从位置 LL 到位置 RR(含)之间濒死的英雄数量。

你能够应付所有 QQ 个事件吗?

输入格式

simulator.in 文件读入数据。

第一行输入包含一个整数 NN

第二行输入包含 NN 个整数 A1,A2,,ANA_1, A_2, \dots, A_N

第三行输入包含一个整数 QQ

接下来的 QQ 行依时间顺序分别描述一个事件。每 jj 行以一个整数 TjT_j 开始,描述第 jj 个事件的类型:

  • 如果 Tj=1T_j = 122,则接下来有三个整数:Lj,Rj,xjL_j, R_j, x_j
  • 如果 Tj=3T_j = 3,则接下来有一个整数:hjh_j
  • 如果 Tj=4T_j = 455,则接下来有两个整数:Lj,RjL_j, R_j

输出格式

输出到 simulator.out 文件。

对于每个类型 44 或类型 55 事件,输出一行一个数字,代表该查询的答案。

样例

5
3 1 4 1 5
14
1 2 4 1
5 2 5
1 2 5 3
4 1 5
5 1 5
2 1 5 10
4 1 5
3 3
3 5
3 3
1 1 5 100
4 1 5
1 1 5 100
4 1 5
2
2
1
2
3
4
事件 1 3 0 3 0 5
事件 3 3 x 0 x 2
事件 6 13  x  10  x  12
事件 11  x  x  10   x  12 
事件 13 x   x  10  x  x

样例 2

点击链接 ex_simulator2.inex_simulator2.out 下载大样例 2 的输入数据和输出数据。

数据范围

对于所有测试数据,

1N,Q2×1051 \leq N, Q \leq 2 \times 10^5

0Ai1090 \leq A_i \leq 10^9

对于所有 1jQ1 \leq j \leq Q1Tj51 \leq T_j \leq 5

对于所有 1jQ1 \leq j \leq Q1LjRjN1 \leq L_j \leq R_j \leq N

对于所有 1jQ1 \leq j \leq Q1xj1091 \leq x_j \leq 10^9

对于所有 1jQ1 \leq j \leq Q1hjN1 \leq h_j \leq N

保证存在至少一个类别 44 或类型 55 的事件。

子任务 分数 附加约束条件
11 99 对于所有事件,Lj=RjL_j = R_j
22 2323 只有类型 11、类型 22 或类型 55 的事件,可以保证没有英雄死亡
33 1919 只有类型 11、类型 22、类型 33 或类型 55 的事件,可以保证没有英雄死亡
44 2222 只有类型 11、类型 44 或类型 55 的事件
55 2727 无附加限制

1015提高组

Not Attended
Status
Done
Rule
OI
Problem
4
Start at
2024-10-15 14:00
End at
2024-10-15 18:00
Duration
4 hour(s)
Host
Partic.
11