luogu#P10374. [AHOI2024 初中组] 操作

    ID: 14330 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 难度: 4 上传者: 标签>模拟线段树树状数组2024安徽O2优化差分

[AHOI2024 初中组] 操作

题目描述

小可可有一个数组 {an}\{a_n\}(初始值为 {an}={0,0,,0}\{a_n\}=\{0,0,\ldots,0\})和从左到右的 mm 个机器,其中第 ii 个机器有类别 oi{1,2}o_i \in \{1,2\} 和参数 xi,yix_i,y_i。第 ii 个机器执行的操作如下:

  • oi=1o_i=1,则将 a(xi)a_{(x_i)} 加上 yiy_i,此时保证 1xin1 \le x_i \le n1yi1041 \le y_i \le 10^4
  • oi=2o_i=2,则执行第 xiyix_i \sim y_i 个机器的操作各一次,此时保证 1xiyii11 \le x_i \le y_i \le i-1
  • 特别地,保证 o1=1o_1=1

现在,小可可依次执行了第 c1,c2,,ckc_1,c_2,\ldots,c_k 个机器的操作各一次,她想知道最后得到的数组 {an}\{a_n\} 是什么。

由于数组中元素的值可能很大,你只需要帮她求出每个元素除以 1000710007 的余数即可。

输入格式

第一行三个正整数 n,m,kn,m,k

接下来一行 kk 个正整数 {ck}\{c_k\}

接下来 mm 行,第 ii 行三个正整数 oi,xi,yio_i,x_i,y_i

输出格式

一行 nn 个非负整数,表示数组 {an}\{a_n\} 中每个元素的值除以 1000710007 的余数。

2 3 3
1 2 3
1 1 2
2 1 1
2 1 2
8 0

提示

样例 1 解释

先执行第 11 个机器的操作,给 a1a_1 加上了 22

然后执行第 22 个机器的操作,它操作了第 11 个机器,给 a1a_1 加上了 22

然后执行第 33 个机器的操作。它先操作了第 11 个机器,给 a1a_1 加上了 22;然后操作了第 22 个机器,第 22 个机器又操作了第 11 个机器,给 a1a_1 加上了 22

综上所述,最后得到的数组为 {8,0}\{8,0\}

数据范围

对于 10%10\% 的数据,n,m,k10n,m,k \le 10

对于 30%30\% 的数据,n,m,k1000n,m,k \le 1000

对于另外 20%20\% 的数据,n=1n=1

对于另外 20%20\% 的数据,k=1k=1

对于 100%100\% 的数据,1n,m,k2×1051 \le n,m,k \le 2 \times 10^51cin1 \le c_i \le noi{1,2}o_i \in \{1,2\}o1=1o_1=1。此外,对于第 ii 个机器,保证:

  • oi=1o_i=1,则 1xin1 \le x_i \le n1yi1041 \le y_i \le 10^4
  • oi=2o_i=2,则 1xiyii11 \le x_i \le y_i \le i-1