#ABC351G. 树上的哈希

树上的哈希

树上的哈希

题目描述

给定一棵编号为 11 到 NN 的 NN 个顶点的有根树。

顶点 11 是根,顶点 ii (2≤i≤N)(2 \leq i \leq N) 的父节点是顶点 pip_i (pi<i)(p_i \lt i)。

另外,给定序列 A=(A1,A2,…,AN)A = (A_1, A_2, \dots, A_N)。

这棵有根树的哈希值按如下方式计算:

按 n=N,N−1,…,2,1n = N, N-1, \dots, 2, 1 的顺序定义 f(n)f(n) (1≤n≤N)(1 \leq n \leq N)。

如果顶点 nn 是叶子,则 f(n)=Anf(n) = A_n。

如果顶点 nn 不是叶子,则 f(n)=An+∏c∈C(n)f(c)\displaystyle f(n) = A_n + \prod_{c \in C(n)} f(c),其中 C(n)C(n) 是 nn 的子节点集合。

这棵有根树的哈希值是 f(1) mod 998244353f(1) \bmod{998244353}。

按给出的顺序处理 QQ 个查询。

每个查询给出 vv 和 xx,将 AvA_v 更新为 xx,然后计算这棵有根树的哈希值。

输入格式

输入按以下格式从标准输入给出,其中 queryi\mathrm{query}_i 表示第 ii 个查询:

NN QQ
p2p_2 p3p_3 …\dots pNp_N
A1A_1 A2A_2 …\dots ANA_N
query1\mathrm{query}_1
query2\mathrm{query}_2
⋮\vdots
queryQ\mathrm{query}_Q

每个查询按以下格式给出:

vv xx

输出格式

输出 QQ 行。第 ii 行应包含第 ii 个查询的答案。

样例

3 2
1 1
3 5 1
3 4
2 1
23
7

初始时,A=(3,5,1)A = (3, 5, 1)。

第一个查询按如下方式处理:

将 A3A_3 更新为 44。此时 A=(3,5,4)A = (3, 5, 4)。

这棵有根树的哈希值计算如下,得到 2323,应输出该值。

顶点 33 没有子节点。因此,f(3)=4f(3) = 4。

顶点 22 没有子节点。因此,f(2)=5f(2) = 5。

顶点 11 有子节点 22 和 33。因此,f(1)=3+5×4=23f(1) = 3 + 5 \times 4 = 23。

f(1) mod 998244353=23f(1) \bmod{998244353} = 23 就是这棵有根树的哈希值。

第二个查询按如下方式处理:

将 A2A_2 更新为 11。此时 A=(3,1,4)A = (3, 1, 4)。

这棵有根树的哈希值计算如下,得到 77:

顶点 33 没有子节点。因此,f(3)=4f(3) = 4。

顶点 22 没有子节点。因此,f(2)=1f(2) = 1。

顶点 11 有子节点 22 和 33。因此,f(1)=3+1×4=7f(1) = 3 + 1 \times 4 = 7。

f(1) mod 998244353=7f(1) \bmod{998244353} = 7 就是这棵有根树的哈希值。

5 4
1 1 2 2
2 5 4 4 1
3 3
5 0
4 5
5 2
29
17
17
47
10 10
1 2 1 2 5 6 3 5 1
766294629 440423913 59187619 725560240 585990756 965580535 623321125 550925213 122410708 549392044
1 21524934
9 529970099
6 757265587
8 219853537
5 687675301
5 844033519
8 780395611
2 285523485
6 13801766
3 487663184
876873846
952166813
626349486
341294449
466546009
331098453
469507939
414882732
86695436
199797684

数据范围

  • 2≤N≤2×1052 \leq N \leq 2 \times 10^5
  • 1≤Q≤2×1051 \leq Q \leq 2 \times 10^5
  • 1≤pi<i1 \leq p_i \lt i
  • 0≤Ai<9982443530 \leq A_i \lt 998244353
  • 1≤v≤N1 \leq v \leq N
  • 0≤x<9982443530 \leq x \lt 998244353
  • 输入中的所有值均为整数。
难度 省选/NOI-
通过率 —
尝试 0
通过 0
ID
3283
类型
传统题
Time Limit
4000ms
Memory Limit
1024MiB
上传者
标签