P3032【nodgd继续造水题】ShadowIterator与啦啦操保安 | |
|
问题描述
ShadowIterator好不容易逃出了nodgd的坑爹迷宫,却被保安抓住,绑在了一棵树上。
这是一棵很神奇的树,每时每刻在以各种各样的姿态长出或者掉落果子,学过OI的ShadowIterator决定研究研究这棵树。
这棵树共有N个节点,N-1条枝杈连接这些节点,1号节点时根。每时每刻可能有如下这些事件发生:
·1 x t :节点x长出了t个果子;
·2 x t :节点x变成了t个果子;
·3 x :ShadowIterator想知道节点x现在又几个果子;
·4 x y t :节点x到节点y的链上每个节点各长出了t个果子;
·5 x y t :节点x到节点y的链上每个节点都变成t个果子;
·6 x y :ShadowIterator想知道节点x到节点y的链上共有多少个果子;
·7 x y :ShadowIterator想知道节点x到节点y的链上果子最多的节点有多少个果子;
·8 x t:节点x的子树里每个节点各长出t个果子;
·9 x t:节点x的子树里每个节点都变成t个果子;
·10 x :ShadowIterator想知道节点x子树中所有节点共有多少个果子;
·11 x :ShadowIterator想知道节点x子树中所有节点中果子最多的节点有多少个果子。
输入格式
第一行一个整数N,表示节点数
接下来N-1行,每行两个数x,y,表示节点x与节点y之间有一条枝杈相连
接下来一行N个数,第i个数表示第i个节点一开始有多少个果子。
接下来一行一个数M,表示时间数
接下来M行,每行描述一个事件
输出格式
对每个3,6,7,10,11事件,输出答案。
样例输入
3
1 2
2 3
1 2 3
11
1 1 1
2 1 1
3 1
4 1 2 1
5 1 2 1
6 1 2
7 1 2
8 1 1
9 1 1
10 1
11 1
样例输出
1
2
1
3
1
提示
数据范围:
1<=N<=200000
1<=M<=200000
1<=初始果子数,t<=10000
答案要用long long