#ABC351G. Hash on Tree
Hash on Tree
Hash on Tree
题目描述
有一棵包含 个顶点的有根树,顶点编号为 到 ,根为顶点 。对于每个 ,顶点 的父亲是 ,并且 。
每个顶点 有一个权值 。按照从编号大到编号小的顺序定义 :
- 若顶点 是叶子,则 ;
- 否则,设 为顶点 的所有儿子组成的集合,则
树的哈希值定义为 。
你需要依次处理 次修改。每次修改给出 ,把 改为 ,并输出修改后树的哈希值。
输入格式
第一行输入两个整数 。
第二行输入 个整数 。
第三行输入 个整数 。
接下来 行,每行输入两个整数 ,表示把 修改为 。
输出格式
输出 行。第 行输出第 次修改后的树哈希值。
样例输入 1
3 2
1 1
3 5 1
3 4
2 1
样例输出 1
23
7
样例输入 2
5 4
1 1 2 2
2 5 4 4 1
3 3
5 0
4 5
5 2
样例输出 2
29
17
17
47
样例输入 3
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
样例输出 3
876873846
952166813
626349486
341294449
466546009
331098453
469507939
414882732
86695436
199797684
数据范围
- ;
- ;
- ;
- ;
- ;
- ;
- 所有输入均为整数。
| 子任务编号 | 分值 | 特殊限制 |
|---|---|---|
| 1 | 20 | , |
| 2 | 对所有 ,均有 | |
| 3 | 树的最大深度不超过 ,且每个顶点的儿子数不超过 | |
| 4 | 40 | 无特殊限制 |
样例解释 1
第一次修改后 ,两个叶子的值分别为 ,所以根的值为 。
第二次修改后 ,根的值为 。