#1901. DFS序与欧拉序-课堂案例1
DFS序与欧拉序-课堂案例1
题目描述
《DFS序与子树和》
【DFS序与子树和】DFS序+节点修改+子树和查询(单点修改+区间和查询) 给一棵有根树,这棵树由编号为1 ... N的N个结点组成。根结点的编号为R。每个结点都有一个权值,结点的权值为wi。 接下来有M组操作,操作分为两类: · 1 a x, 表示将结点α的权值增加x; · 2 a, 表示求结点α的子树上所有结点的权值之和。
输入格式
第一行有三个整数N,M和R。 第二行有N个整数,第i个整数表示wi。 在接下来的N-1行中,每行两个整数,表示一条边。 在接下来的M行中,每行一组操作。
输出格式
对于每组 2 a 操作,输出一个整数,表示「以结点α为根的子树」上所有结点的权值之和。
样例
输入样例 1
5 6 1
1 9 3 2 4
1 2
2 4
4 5
2 3
1 2 10
2 3
2 1
1 5 2
2 2
2 4
输出样例 1
3
29
30
8
输入样例 2
4 4 1
10 20 30 40
1 2
2 3
3 4
2 1
2 2
1 3 5
2 3
输出样例 2
100
90
75
输入样例 3
10 14 9
12 -6 -4 -3 12 8 9 6 6 2
8 2
2 10
8 6
2 7
7 1
6 3
10 9
2 4
10 5
1 4 -1
2 2
1 7 -1
2 10
1 10 5
2 1
1 7 -5
2 5
1 1 8
2 7
1 8 8
2 2
1 5 5
2 6
输出样例 3
21
34
12
12
23
31
4
输入样例 4
5 5 1
5 1 1 1 1
1 2
1 3
1 4
1 5
2 1
2 2
1 2 9
2 1
2 2
输出样例 4
9
1
18
10
输入样例 5
3 5 1
-5 10 -10
1 2
1 3
2 1
1 2 5
2 2
1 1 20
2 1
输出样例 5
-5
15
20