【题目描述】
给定一棵n个点,以1为根的二叉树,每个点要么没有儿子要么有两个儿子,第i 个点有非负点权ai。
现在由深至浅地考虑每个节点u,计算其新权值bu:
•若u没有儿子,bu←au
•若其两个儿子的编号分别为x,y,则bu←au+∣bx−by∣。
现在有q次询问,每次修改一个点权au,问修改之后根节点的新权值b1。
【输入格式】
第一行一个正整数n,表示树的点数。
接下来n行,第i行两个非负整数li,ri,分别表示点i的左右儿子的编号,若i没 有儿子,则li=ri=0。
第n+2行n个非负整数,分别表示a1,a2,⋅⋅⋅,an。
第n+3行一个正整数q,表示询问数量。
接下来q行,每行两个整数u,x,表示将节点u的权值au改为x。
【输出格式】
对于每个询问,输出一行一个非负整数表示答案。
【样例1输入】
5
2 3
4 5
0 0
0 0
0 0
1 2 3 4 5
3
1 1
1 10
5 0
【样例1输出】
1
10
13
【样例2】
见题目目录下的hypnotic2.in与hypnotic2.ans。
该样例满足测试点2∼3的限制。
【样例3】
见题目目录下的hypnotic3.in与hypnotic3.ans。
该样例满足测试点4∼5的限制。
【数据范围】
对于所有数据,1≤n,q≤105,ai≥0;记L为ai在任意时刻的最大值,保证 L≤20。
| 测试点编号 |
n≤ |
q≤ |
L≤ |
特殊性质 |
| 1 |
103 |
20 |
无 |
| 2∼3 |
105 |
A |
| 4∼5 |
1 |
无 |
| 6∼7 |
5 |
| 8 |
5×104 |
20 |
| 9∼10 |
105 |
特殊性质A:树的非叶节点构成一条链,且li=i+1,ri=2n+1+i.