#CF1076E. Vasya and a Tree
Vasya and a Tree
markdown
E. Vasya 与一棵树
| 项目 | 限制 |
|---|---|
| 时间限制 | 秒 |
| 内存限制 | 兆字节 |
| 输入 | 标准输入 |
| 输出 | 标准输出 |
Vasya 有一棵包含 个顶点的树,根节点为 。初始时,所有顶点上的值均为 。
记 为顶点 与 之间的距离,即从 到 的最短路径上的边数。
另外,定义顶点 的 -子树 为满足以下两个条件的顶点集合 :
- 是 的祖先(每个顶点都是它自己的祖先);
- 。
Vasya 需要你处理 个查询。第 个查询是一个三元组 。
对于每个查询,Vasya 将值 加到 的 -子树中的每一个顶点上。
请在所有查询处理完毕后,输出树中每个顶点上的最终值。
输入
第一行包含一个整数 ()—— 树中顶点的数量。
接下来的 行,每行包含两个整数 和 ()—— 表示顶点 与 之间的一条边。保证给定的图是一棵树。
下一行包含一个整数 ()—— 查询的数量。
接下来的 行,每行包含三个整数 (,,)—— 第 个查询的描述。
输出
输出 个整数。第 个整数表示处理完所有查询后,顶点 上的值。
样例
输入样例 1
5
1 2
1 3
2 4
2 5
3
1 1 1
2 0 10
4 10 100
输出样例 1
1 11 1 100 0
输入样例 2
5
2 3
2 1
5 4
3 4
5
2 0 4
3 10 1
1 2 3
2 3 10
1 1 7
输出样例 2
10 24 14 11 11
注释
在第一个样例中,初始时各顶点的值均为 。
第一次查询后,各顶点的值变为 。
第二次查询后,各顶点的值变为 。
第三次查询后,各顶点的值变为 。