YZOJ P3484 子树求和
时间限制:2000MS 内存限制:262144KB 出题人:lgj
难度: \(6.0\)
-
题目描述
已知一棵树有 \(n\) 个节点,并且根节点是固定的。
每个节点上都有一个权值 \(w_i\) ,记 \(s_i\) 为 以 \(i\) 为根的子树中,所有节点的 \(w_i\) 的和。
由于询问 \(s_i\) 太简单了,不能将 AKIOI
的你的高智商体现出来,所以每次询问给定 \(l, r\) ,求 \(\sum\limits_{i=l}^{r}{s_i}\) 。
为了避免此题难度太低,不能将 AKIOI
的你的高智商体现出来,所以的询问的过程中还可能修改某个节点的 \(w_i\) 。
为了将 AKIOI
的你的高智商体现出来,你要写一个程序来实时给出询问的答案。
-
输入格式
第一行为两个整数 \(n\) 和 \(q\),分别表示节点数和操作的次数;
第二行 \(n\) 个正整数,表示序列 \(w\) ;
接下来 \(n\) 行,第 \(i\) 行两个正整数 \(u_i\) 和 \(v_i\),描述一条树上的边。特别地,\(u_i=0\) 时,表示 \(v_i\) 为树的根节点;
接下来 \(q\) 行,每行三个正整数 \(op, l, r\) 。描述 \(q\) 组操作。 \(op=1\) 表示 \(w_l\) 修改为 \(r\),\(op=2\) 表示询问 \(\sum\limits_{i=l}^{r}{s_i}\) 的值。
-
输出格式