#ds901. 树的统计
树的统计
树的统计
题目来源
ZJOI2008
题目描述
一棵树上有个节点,编号分别为到,每个节点都有一个权值。我们将以下面的形式来要求你对这棵树完成一些操作:
CHANGE u t,把结点的权值改为。QMAX u v,询问从点到点的路径上的节点的最大权值QSUM u v, 询问从点到点的路径上的节点的权值和。注意:从点到点的路径上的节点包括和本身。
输入格式
输入的第一行为一个整数,表示节点的个数。接下来行,每行个整数和,表示节点和节点之间有一条边相连。
接下来行,每行一个整数,第行的整数表示节点的权值。接下来一行,为一个整数,表示操作的总数。
接下来行,每行一个操作,以CHANGE u t或者QMAX u v或者QSUM u v的形式给出。
保证$1\leq n \leq 3\times 10^4, 0\leq q\leq 2\times 10^4$,中途操作中保证每个节点的权值在到之间。
输出格式
对于每个QMAX或者QSUM的操作,每行输出一个整数表示要求输出的结果。
样例输入
4
1 2
2 3
4 1
4 2 1 3
12
QMAX 3 4
QMAX 3 3
QMAX 3 2
QMAX 2 3
QSUM 3 4
QSUM 2 1
CHANGE 1 5
QMAX 3 4
CHANGE 3 6
QMAX 3 4
QMAX 2 4
QSUM 3 4
样例输出
4
1
2
2
10
6
5
6
5
16