题目 30249

点加子树求和

查看题解 ↗GitHub ↗如何评测
题号
30249
时间限制
10000 ms
内存限制
1024 MB
标签
树图论
来源
Library Checker (yosupo06) - vertex_add_subtree_sum

【题目描述】

给定一棵 NN 个顶点的有根树,根为顶点 00。顶点 ii 的值为 aia_i,其父亲为 pip_i。依次处理以下 QQ 个查询:

  • 0 $u$ $x$:au←au+xa_u \gets a_u + x
  • 1 $u$:输出以 uu 为根的子树中所有顶点的值之和。

【输入】

文本
$N$ $Q$
$a_0$ $a_1$ ... $a_{N - 1}$
$p_1$ $p_2$ ... $p_{N - 1}$
$\textrm{Query}_0$
$\textrm{Query}_1$
:
$\textrm{Query}_{Q - 1}$

【输出】

对每个 1 $u$ 查询,输出一行一个整数,表示以 uu 为根的子树中所有顶点的值之和。

【输入样例】

文本
5 5
1 10 100 1000 10000
0 1 2 2
1 1
1 2
0 1 100000
1 0
1 3

【输出样例】

文本
11110
11100
111111
1000

【数据范围】

  • 1≤N,Q≤500,0001 \leq N, Q \leq 500,000
  • 0≤pi<i0 \leq p_i < i
  • 0≤ai,x≤1090 \leq a_i, x \leq 10^9

【来源】

Library Checker(yosupo06) vertex_add_subtree_sum

数据下载

题目 30249 的公开数据

正在读取文件列表…

常用命令

题目 30249 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。