#P11129. [PA 2025]Liściek吃树叶

[PA 2025]Liściek吃树叶

题目描述

在 Bajtocki 森林里,生长着 10610^{6} 棵树,排成一列,编号从 1110610^{6}。森林边缘,就在 11 号树前,住着 Bajtazaur。

Bajtazaur 决定减肥,开始运动生活。它为接下来的 nn 天制定了计划:第 ii 天,它会从家走到 aia_{i} 号树再返回,每棵经过的树吃掉正好 viv_{i} 片叶子,但每棵树在一次散步中只吃一次。

起初,Bajtazaur 雄心勃勃,设定每天的 vi=0v_{i} = 0,想完全不吃叶子。可它很快发现,这样饿肚子实在撑不下去,得慢慢调整吃的叶子数量。于是,它计划通过 mm 次修改调整方案:第 jj 次修改是将前 pjp_{j} 天的 viv_{i} 增加 wjw_{j} 片叶子,也就是对 i=1,2,,pji = 1, 2, \ldots, p_{j}viv_{i} 增加 wjw_{j}

在修改计划的间隙,Bajtazaur 会提出一些问题,总共 zz 个。第 jj 个问题是:在当前计划的前 pjp_{j} 天,它总共会从 djd_{j} 号树吃掉多少叶子?

请你帮 Bajtazaur 回答这些问题。

输入格式

输入的第一行包含三个整数 n,m,zn, m, z $(1 \leq n, m, z \leq 10^{6}, n \cdot m \cdot z \leq 10^{16})$,分别表示 Bajtazaur 的减肥天数、计划修改次数和提问次数。

第二行包含 nn 个整数 a1,,ana_{1}, \ldots, a_{n} (1ai106)(1 \leq a_{i} \leq 10^{6}),表示每天 Bajtazaur 要走到的树编号。

接下来的 m+zm+z 行描述修改和提问,按时间顺序排列,每行一个描述:

  • 三个整数 1,pj,wj1, p_{j}, w_{j} (1pjn,1wj106)(1 \leq p_{j} \leq n, 1 \leq w_{j} \leq 10^{6}),表示将前 pjp_{j} 天的吃叶量增加 wjw_{j}
  • 三个整数 2,pj,dj2, p_{j}, d_{j} (1pjn,1dj106)(1 \leq p_{j} \leq n, 1 \leq d_{j} \leq 10^{6}),表示询问前 pjp_{j} 天从 djd_{j} 号树吃的叶子总数。

m+zm+z 行中正好有 mm 次修改和 zz 次提问。回答问题时,只考虑提问前已执行的修改(输入中靠前的行),不考虑之后的修改(输入中靠后的行)。

输出格式

输出 zz 行,第 jj 行是一个整数,表示第 jj 个问题中,Bajtazaur 在提问时计划的前 pjp_{j} 天从 djd_{j} 号树吃的叶子总数。

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

Bajtazaur 的计划有 33 天(n=3n=3),它会修改 22 次(m=2m=2),提问 44 次(z=4z=4)。

  • 11 天走到 3 号树(a1=3a_{1}=3),第 22 天走到 44 号树(a2=4a_{2}=4),第 33 天走到 11 号树(a3=1a_{3}=1)。
  • 初始时 v1=v2=v3=0v_{1}=v_{2}=v_{3}=0,不吃叶子。

随后按顺序执行修改和提问:

  • 2 3 1:问前 33 天从 11 号树吃多少叶子。还未修改,吃 00 片。
  • 1 2 10:修改前 22 天,每棵树多吃 1010 片,更新为 v1=10,v2=10,v3=0v_{1}=10, v_{2}=10, v_{3}=0
  • 2 1 2:问第 11 天从 22 号树吃多少。第 11 天走到 33 号树,经过 22 号树,吃 v1=10v_{1}=10 片。
  • 2 3 1:问前 33 天从 11 号树吃多少。第 11 天吃 v1=10v_{1}=10 片,第 22 天吃 v2=10v_{2}=10 片,第 33 天吃 v3=0v_{3}=0 片,总共 2020 片。
  • 1 3 1:修改前 33 天,每棵树多吃 11 片,更新为 v1=11,v2=11,v3=1v_{1}=11, v_{2}=11, v_{3}=1
  • 2 3 2:问前 33 天从 22 号树吃多少。第 11 天吃 v1=11v_{1}=11 片,第 22 天吃 v2=11v_{2}=11 片,第 33 天走到 11 号树,不经过 22 号树,总共 2222 片。

数据范围与提示

详细子任务附加限制及分值如下表所示。

其中 aba \sim b 表示 0.99b<ab0.99 \cdot b < a \leq b

子任务编号 附加限制 分值
11 (m+z)n107(m+z) \cdot n \leq 10^{7} 1010
22 $z \cdot m \leq 10^{7}, n \cdot m \cdot z \sim 10^{13}$ 1010
33 n=104,nmz1014n = 10^{4}, n \cdot m \cdot z \sim 10^{14} 1010
44 m=104,nmz1014m = 10^{4}, n \cdot m \cdot z \sim 10^{14} 1010
55 z=104,nmz1014z = 10^{4}, n \cdot m \cdot z \sim 10^{14} 1010
66 nmz1014n \cdot m \cdot z \sim 10^{14} 1010
77 m=104,nmz1016m = 10^{4}, n \cdot m \cdot z \sim 10^{16} 1010
88 z=104,nmz1016z = 10^{4}, n \cdot m \cdot z \sim 10^{16} 1010
99 nmz1016n \cdot m \cdot z \sim 10^{16} 1010
1010 n1016n \sim 10^{16} 1010