| 题目名称 | 3403. [模板]树上操作A |
|---|---|
| 输入输出 | tree.in/out |
| 难度等级 | ★★☆ |
| 时间限制 | 1000 ms (1 s) |
| 内存限制 | 512 MiB |
| 测试数据 | 10 |
| 题目来源 |
|
| 开放分组 | 全部用户 |
| 提交状态 | |
| 分类标签 | |
| 分享题解 |
| 通过:1, 提交:1, 通过率:100% | ||||
|
|
100 | 0.814 s | 7.15 MiB | C++ |
| 关于 树上操作A 的近10条评论(全部评论) |
|---|
给定一棵有$n$个结点的有根树,树根编号为$1$,每个结点都有初始权值,你需要实现如下操作:
C x y,将结点$x$的编号的权值增加$y$;
Q x,查询以$x$为根的子树的结点权值之和。
一行两个整数$n,m$,表示树结点数和操作数。
接下来一行$n$个整数,表示结点初始状态下的权值。
接下来$n-1$行,每行两个整数$x,y$,表示$x,y$之间有一条边。
接下来$m$行,每行一个操作。
对于每个查询操作,输出以$x$为根的子树的结点权值之和。
5 5 2 3 7 5 1 1 2 1 3 2 4 2 5 Q 2 C 4 6 Q 2 C 3 5 Q 1
9 15 29
对于$60\%$的数据,$1\leq n,m\leq 10^4$。
对于$100\%$的数据,$1\leq n, m\leq 2\times 10^5$,保证所有输入的权值在$[-1000, 1000]$。