#P11930. [PA 2025] 吃树叶 / Liście

[PA 2025] 吃树叶 / Liście

题目背景

PA 2025 R5A.

警告:滥用本题评测一次即可封号。

这里提供了本题的部分测试点(你可以在附件中下载它们),强烈建议上述题目提交通过后再提交本题。

题目描述

10610^6 棵树,自西向东编号 11061\sim 10^6。小恐龙的营地在第 11 棵树西边。

在接下来的 nn 天中,小恐龙的饮食计划为:

  • ii 天,她将从营地步行到树 aia_i,再返回营地。
  • 从营地去树 aia_i 的途中,她会摘下遇到的所有奇数编号的树的 viv_i 片叶子;
  • 从树 aia_i 返回营地的途中,她会摘下遇到的所有偶数编号的树的 viv_i 片叶子。

不难发现,每天,每棵树至多只被摘一次叶子。

一开始,vi=0v_i=0。有 mm 次修改:

  • jj 次修改将pjp_j 天的 viv_ii=1,2,,pji = 1, 2, \ldots, p_j)每个增加 wjw_j

此外,修改间隙有 zz 次查询:

  • jj 次查询:求出在前 pjp_j 天中,第 djd_j 棵树被吃掉的总叶子数。

修改会影响所有后面的查询,但是每个查询之间是独立的。

输入格式

第一行,三个正整数 n,m,zn,m,z

第二行,nn 个正整数 a1,a2,,ana_1,a_2,\ldots,a_n

接下来 (m+z)(m+z) 行,每行三个正整数:

  • 1\texttt{1} pjp_j wjw_j,描述一次修改操作;
  • 2\texttt{2} pjp_j djd_j,描述一次查询操作。

输出格式

输出 zz 行,每行一个非负整数,表示查询的答案。

3 2 4
3 4 1
2 3 1
1 2 10
2 1 2
2 3 1
1 3 1
2 3 2
0
10
20
22

提示

样例解释

饮食计划如下:

  • 11 天:前往 a1=3a_1 = 3 号树;去程摘奇数编号树(1,31, 3)的叶子,返程摘偶数编号树(22)的叶子。
  • 22 天:前往 a2=4a_2 = 4 号树;去程路径摘 1,31, 3 的叶子;返程摘 4,24, 2 的叶子。
  • 33 天:前往 a3=1a_3 = 1 号树;去程摘 11 的叶子,返程不摘叶子。

初始时所有 v1=v2=v3=0v_1 = v_2 = v_3 = 0,即实际上一片叶子都不会摘。

  1. 第一次查询,问前 33 天中,11 号树被摘掉的叶子数。答案显然为 00

  2. 第一次修改,将前 22 天的 viv_i 各增加 1010
    此时 v1=10,v2=10,v3=0v_1=10,v_2=10,v_3=0

  3. 第二次查询,问第 11 天中,22 号树被摘掉的叶子数。

    由于第一天返程时摘了 22 号树的叶子,所以答案为 1010

  4. 第三次查询,问前 33 天中,11 号树被摘掉的总叶子数。

    由于前两天都会摘 11 号树的叶子,所以答案为 10+10=2010+10=20

  5. 第二次修改,将前 33 天的 viv_i 各加 11

    此时,v1=11,v2=11,v3=1v_1=11,v_2=11,v_3=1

  6. 第四次查询,问前 33 天中,22 号树摘掉的叶子数。

    答案为 11+11+0=2211 + 11 + 0 = 22

数据范围

  • 1n,m,z1061 \leq n, m, z \leq 10^6
  • nmz1016n \cdot m \cdot z \leq 10^{16}
  • 1ai,wj,dj1061\le a_i,w_j,d_j\le 10^6
  • 1pjn1\le p_j\le n

子任务

子任务 00 为样例。

下表中,符号 aba \sim b 表示 0.99b<ab0.99 \cdot b < a \le b

子任务编号 限制
11 (m+z)n107(m + z) \cdot n \le 10^7
22 zm107z \cdot m \le 10^7nmz1013n \cdot m \cdot z \sim 10^{13}
33 n=104n = 10^4nmz1014n \cdot m \cdot z \sim 10^{14}
44 m=104m = 10^4nmz1014n \cdot m \cdot z \sim 10^{14}
55 z=104z = 10^4nmz1014n \cdot m \cdot z \sim 10^{14}
66 nmz1014n \cdot m \cdot z \sim 10^{14}
77 n=104n = 10^4nmz1016n \cdot m \cdot z \sim 10^{16}
88 m=104m = 10^4nmz1016n \cdot m \cdot z \sim 10^{16}
99 z=104z = 10^4nmz1016n \cdot m \cdot z \sim 10^{16}
1010 nmz1016n \cdot m \cdot z \sim 10^{16}