#CSES1137. 子树查询
子树查询
题目背景
翻译自 CSES-1137 题。
题目描述
给定一个包含 个节点的树,其中节点 是根节点。每个节点都有一个值。
你的任务是处理以下两种类型的查询:
- 将节点 的值修改为 。
- 计算节点 的子树中所有节点的值之和。
输入格式
第一行包含两个整数 和 :分别表示树中的节点数量和查询数量。节点编号为 ,根节点是节点 。
第二行包含 个整数 :每个节点的初始值。
接下来有 行,每行包含两个整数 和 :表示节点 和节点 之间有一条边。
最后有 行查询。每行查询的格式可以是:
1 s x
:表示将节点 的值修改为 。2 s
:表示查询节点 的子树中所有节点的值之和。
输出格式
对于每个查询类型 2
,输出子树中节点值的总和。
样例
5 3
4 2 5 2 1
1 2
1 3
3 4
3 5
2 3
1 5 3
2 3
8
10
说明/提示
;
;
。