#P1009. DFS序

DFS序

DFS序

题目描述

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

11 aa xx,表示将结点 aa 的权值增加 xx; 22 aa,表示求结点 aa 的子树上所有结点的权值之和。

输入格式

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

输出格式

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

输入输出样例 #1

输入 #1

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

输出 #1

21
34
12
12
23
31
4

说明/提示

数据规模与约定

  • 对于 100%100\% 的数据,保证 1≤n,m≤1061 \le n,m \le 10^6,1≤R≤n1 \le R \le n,−106≤vi,x≤106-10^6 \le vi,x \le 10^6。