Problem5212--DFS 序 2

5212: DFS 序 2

[Creator : ]
Time Limit : 2.000 sec  Memory Limit : 256 MiB

Description

这是一道模板题。
给一棵有根树,这棵树由编号为 $1, 2, 3, ..., N$ 的个 $N$ 结点组成。根结点的编号为 $R$。每个结点都有一个权值,结点 $i$ 的权值为 $V_i$。
接下来有 $M$ 组操作,操作分为两类:
  • $1\ a\ x$,表示将结点 $a$ 的子树上所有结点的权值增加 $x$;
  • $2\ a$,表示求结点 $a$ 的子树上所有结点的权值之和。

Input

第一行有三个整数 $N,M, R$。
第二行有 $N$ 个整数,第 $i$ 个整数表示 $V_i$。
在接下来的 $N-1$ 行中,每行两个整数,表示一条边。
在接下来的 $M$ 行中,每行一组操作。

Output

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

Constraints

$1 \leqslant N, M \leqslant 10^{6}, 1 \leqslant R \leqslant N, -10^{6} \leqslant v_{i}, x \leqslant 10^{6}$

Sample 1 Input

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

Sample 1 Output

21
33
16
17
27
76
30

HINT

题目来源:LOJ 145

Source/Category

基础算法 4.110.DFS