已结束 ZZSR普及赛#2

A7335 | 放松一下

时间限制3s
内存限制256MB
通过 / 提交0/0

题目描述

本题和瓦瓦没有关系,打瓦累了也要多和妈妈交流一下呀。

题目描述



瓦图里面一共有 $n$ 个点,初始时第 $i$ 个点有 $a_i$ 人。

这 $n$ 个点被 $n-1$ 条无向边串联起来,第 $i$ 条边连接点 $u_i$ 和 $v_i$。

有 $q$ 个随机事件,每种事件可能是下面这两种:

1 x y:表示第 $x$ 个点的人数变成了 $y$ 人。
2 x:你需要回答现在第 $x$ 个点周围所有的点的人数之和。

定义一个点 $y$ 是点 $x$ 周围的点,当且仅当有一条 $x->y$ 的边或者 $x=y$。

输入格式

第一行两个正整数 $n,q$。

第二行 $n$ 个正整数 $a_i$。

接下来 $n-1$ 行,每行描述一条边 $u_i,v_i$。

接下来 $q$ 行,每行先输入一个正整数 $opt$ 来描述一个随机事件。若 $opt=1$,接下来两个正整数 $x,y$ 表示第 $1$ 种事件。若 $opt=2$,接下来一个正整数 $x$ 表示第 $2$ 种事件。

输出格式

对于每个 $opt=2$,输出答案。

输入输出样例

输入 #1
5 3
1 2 3 4 5
1 2
2 3
2 4
4 5
2 2
1 2 3
2 2
输出 #1
10
11
C++ 编辑器
输入
输出