问题1918--【CSPS2020提高组】函数调用

1918: 【CSPS2020提高组】函数调用

[命题人 : ]
时间限制 : 1.000 sec  内存限制 : 128 MB

题目描述

函数是各种编程语言中一项重要的概念,借助函数,我们总可以将复杂的任务分解成一个个相对简单的子任务,直到细化为十分简单的基础操作,从而使代码的组织更加严密、更加有条理。然而,过多的函数调用也会导致额外的开销,影响程序的运行效率。

某数据库应用程序提供了若干函数用以维护数据。已知这些函数的功能可分为三类:

  1. 将数据中的指定元素加上一个值;
  2. 将数据中的每一个元素乘以一个相同值;
  3. 依次执行若干次函数调用,保证不会出现递归(即不会直接或间接地调用本身)。

在使用该数据库应用时,用户可一次性输入要调用的函数序列(一个函数可能被调用多次),在依次执行完序列中的函数后,系统中的数据被加以更新。某一天,小 A 在应用该数据库程序处理数据时遇到了困难:由于频繁而低效的函数调用,系统在执行操作时进入了无响应的状态,他只好强制结束了数据库程序。为了计算出正确数据,小 A 查阅了软件的文档,了解到每个函数的具体功能信息,现在他想请你根据这些信息帮他计算出更新后的数据应该是多少。

输入

第一行一个正整数 nn,表示数据的个数。

第二行 nn 个整数,第 ii 个整数表示下标为 ii 的数据的初始值为 a_iai
第三行一个正整数 mm,表示数据库应用程序提供的函数个数。函数从 1 \sim m1m 编号。
接下来 mm 行中,第 jj1 \le j \le m1jm)行的第一个整数为 T_jTj,表示 jj 号函数的类型:

  1. 若 T_j = 1Tj=1,接下来两个整数 P_j, V_jPj,Vj 分别表示要执行加法的元素的下标及其增加的值;
  2. 若 T_j = 2Tj=2,接下来一个整数 V_jVj 表示所有元素所乘的值;
  3. 若 T_j = 3Tj=3,接下来一个正整数 C_jCj 表示 jj 号函数要调用的函数个数,
    随后 C_jCj 个整数 g^{(j)}_1, g^{(j)}_2, \ldots , g^{(j)}_{C_j}g1(j),g2(j),,gCj(j) 依次表示其所调用的函数的编号。

第 m + 4m+4 行一个正整数 QQ,表示输入的函数操作序列长度。
第 m + 5m+5 行 QQ 个整数 f_ifi,第 ii 个整数表示第 ii 个执行的函数的编号。

输出

一行 nn 个用空格隔开的整数,按照下标 1 \sim n1n 的顺序,分别输出在执行完输入的函数序列后,数据库中每一个元素的值。答案对 \boldsymbol{998244353}998244353 取模。

样例输入 Copy

3
1 2 3
3
1 1 1
2 2
3 2 1 2
2
2 3

样例输出 Copy

6 8 12

提示

说明/提示

【样例 #1 解释】
11 号函数功能为将 a_1a1 的值加一。22 号函数功能为所有元素乘 2233 号函数将先调用 11 号函数,再调用 22 号函数。
最终的函数序列先执行 22 号函数,所有元素的值变为 2, 4, 62,4,6
再执行 33 号函数时,先调用 11 号函数,所有元素的值变为 3, 4, 63,4,6。再调用 22 号函数,所有元素的值变为 6, 8, 126,8,12

【数据范围】

测试点编号 n, m, Q \len,m,Q \sum C_jCj 其他特殊限制
1 \sim 212 10001000 = m - 1=m1 函数调用关系构成一棵树
3 \sim 434 10001000 \le 100100
5 \sim 656 2000020000 \le 4000040000 不含第 22 类函数或不含第 11 类函数
77 2000020000 = 0=0
8 \sim 989 2000020000 = m - 1=m1 函数调用关系构成一棵树
10 \sim 111011 2000020000 \le 2 \times 10^52×105
12 \sim 131213 10^5105 \le 2 \times 10^52×105 不含第 22 类函数或不含第 11 类函数
1414 10^5105 = 0=0
15 \sim 161516 10^5105 = m - 1=m1 函数调用关系构成一棵树
17 \sim 181718 10^5105 \le 5 \times 10^55×105
19 \sim 201920 10^5105 \le 10^6106

对于所有数据:0 \le a_i \le 10^40ai104T_j \in \{1,2,3\}Tj{1,2,3}1 \le P_j \le n1Pjn0 \le V_j \le 10^40Vj1041 \le g^{(j)}_k \le m1gk(j)m1 \le f_i \le m1fim


来源/分类