#3003. DFS序2

DFS序2

题目描述

给一棵有根树,这棵树由编号为 1...N1...NNN个结点组成。根结点的编号为 RR。 每个结点都有一个权值,结点ii的权值为 viv_i。接下来有 MM 组操作,操作分为两类:

  • 1 a x1\ a\ x,表示将结点aa的子树的所有权值增加 xx;
  • 2 a2\ a,表示求结点aa的子树上所有结点的权值之和。

输入格式

第一行有三个整数 N,MN,MRR。 第二行有 NN 个整数,第ii个整数表示 viv_i。 在接下来的 N1N-1行中,每行两个整数,表示一条边。 在接下来的 MM 行中,每行一组操作。

输出格式

对于每组 2 a2\ a操作,输出一个整数,表示以结点aa为根的子树上所有结点的权值之和。

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
21
34
12
12
23
31
4

提示

1N,M106,1RN 1 \leq N,M \leq 10^6, 1\leq R \leq N

106vi,x106 -10 ^6 \leq v_i,x \leq 10^6