Propagating tree

题意翻译

## 题目描述 很久以前,有一棵神橡树(oak),上面有$n$个节点,从$1$~$n$编号,由$n-1$条边相连。它的根是$1$号节点。 这棵橡树每个点都有一个权值,你需要完成这两种操作: $1$ $u$ $val$ 表示给$u$节点的权值增加$val$ $2$ $u$ 表示查询$u$节点的权值 但是这不是普通的橡树,它是神橡树。 所以它还有个神奇的性质:当某个节点的权值增加$val$时,它的子节点权值都增加$-val$,它子节点的子节点权值增加$-(-val)$...... 如此一直进行到树的底部。 ## 输入输出格式 ### 输入格式: 第一行两个正整数$n,m$,表示节点数量和操作数量。 第二行$n$个正整数$a_i$,依次表示每个节点的权值。 接下来$n-1$行,每行两个正整数$u,v$,表示$u,v$之间有一条边相连。 最后$m$行,每行若干个正整数,表示一次操作。 ### 输出格式: 对于每次询问,输出一行一个整数表示答案。 ## 说明 ### 数据范围: $1\le n,m \le 2\times 10^5$ $1\le a_i,val \le 1000$ $1\le u,v \le n$

题目描述

Iahub likes trees very much. Recently he discovered an interesting tree named propagating tree. The tree consists of $ n $ nodes numbered from $ 1 $ to $ n $ , each node $ i $ having an initial value $ a_{i} $ . The root of the tree is node $ 1 $ . This tree has a special property: when a value $ val $ is added to a value of node $ i $ , the value - $ val $ is added to values of all the children of node $ i $ . Note that when you add value - $ val $ to a child of node $ i $ , you also add -(- $ val $ ) to all children of the child of node $ i $ and so on. Look an example explanation to understand better how it works. This tree supports two types of queries: - " $ 1 $ $ x $ $ val $ " — $ val $ is added to the value of node $ x $ ; - " $ 2 $ $ x $ " — print the current value of node $ x $ . In order to help Iahub understand the tree better, you must answer $ m $ queries of the preceding type.

输入输出格式

输入格式


The first line contains two integers $ n $ and $ m $ $ (1<=n,m<=200000) $ . The second line contains $ n $ integers $ a_{1} $ , $ a_{2} $ , ..., $ a_{n} $ $ (1<=a_{i}<=1000) $ . Each of the next $ n–1 $ lines contains two integers $ v_{i} $ and $ u_{i} $ $ (1<=v_{i},u_{i}<=n) $ , meaning that there is an edge between nodes $ v_{i} $ and $ u_{i} $ . Each of the next $ m $ lines contains a query in the format described above. It is guaranteed that the following constraints hold for all queries: $ 1<=x<=n,1<=val<=1000 $ .

输出格式


For each query of type two (print the value of node $ x $ ) you must print the answer to the query on a separate line. The queries must be answered in the order given in the input.

输入输出样例

输入样例 #1

5 5
1 2 1 1 2
1 2
1 3
2 4
2 5
1 2 3
1 1 2
2 1
2 2
2 4

输出样例 #1

3
3
0

说明

The values of the nodes are $ [1,2,1,1,2] $ at the beginning. Then value $ 3 $ is added to node $ 2 $ . It propagates and value - $ 3 $ is added to it's sons, node $ 4 $ and node $ 5 $ . Then it cannot propagate any more. So the values of the nodes are $ [1,5,1,-2,-1] $ . Then value $ 2 $ is added to node $ 1 $ . It propagates and value - $ 2 $ is added to it's sons, node $ 2 $ and node $ 3 $ . From node $ 2 $ it propagates again, adding value $ 2 $ to it's sons, node $ 4 $ and node $ 5 $ . Node $ 3 $ has no sons, so it cannot propagate from there. The values of the nodes are $ [3,3,-1,0,1] $ . You can see all the definitions about the tree at the following link: http://en.wikipedia.org/wiki/Tree\_(graph\_theory)