CF383C.Propagating tree

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Iahub likes trees very much. Recently he discovered an interesting tree named propagating tree. The tree consists of nn nodes numbered from 11 to nn , each node ii having an initial value aia_{i} . The root of the tree is node 11 .

This tree has a special property: when a value valval is added to a value of node ii , the value - valval is added to values of all the children of node ii . Note that when you add value - valval to a child of node ii , you also add -(- valval ) to all children of the child of node ii and so on. Look an example explanation to understand better how it works.

This tree supports two types of queries:

  • " 11 xx valval " — valval is added to the value of node xx ;
  • " 22 xx " — print the current value of node xx .

In order to help Iahub understand the tree better, you must answer mm queries of the preceding type.

输入格式

The first line contains two integers nn and mm (1<=n,m<=200000)(1<=n,m<=200000) . The second line contains nn integers a1a_{1} , a2a_{2} , ..., ana_{n} (1<=ai<=1000)(1<=a_{i}<=1000) . Each of the next n1n–1 lines contains two integers viv_{i} and uiu_{i} (1<=vi,ui<=n)(1<=v_{i},u_{i}<=n) , meaning that there is an edge between nodes viv_{i} and uiu_{i} .

Each of the next mm 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<=10001<=x<=n,1<=val<=1000 .

输出格式

For each query of type two (print the value of node xx ) 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][1,2,1,1,2] at the beginning.

Then value 33 is added to node 22 . It propagates and value - 33 is added to it's sons, node 44 and node 55 . Then it cannot propagate any more. So the values of the nodes are [1,5,1,2,1][1,5,1,-2,-1] .

Then value 22 is added to node 11 . It propagates and value - 22 is added to it's sons, node 22 and node 33 . From node 22 it propagates again, adding value 22 to it's sons, node 44 and node 55 . Node 33 has no sons, so it cannot propagate from there. The values of the nodes are [3,3,1,0,1][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)

首页