#4633. 树上差分-子树更新

树上差分-子树更新

题目描述

给定一棵 nn 个节点的树,节点编号 1n1 \sim n,根节点为1,初始所有节点权值为0。 有 mm 次操作,每次操作给定 u,ku, k,表示将uu 为根的整棵子树中所有节点的权值加 kk。 操作完成后,输出每个节点的最终权值。

输入格式

  • 第一行:两个整数 n,mn, m1n,m1051 \le n, m \le 10^5,适配CSP-S数据规模);
  • 接下来 n1n-1 行:每行两个整数 u,vu, v,表示树的一条无向边;
  • 接下来 mm 行:每行两个整数 u,ku, k,表示一次子树加操作。

输出格式

一行 nn 个整数,依次表示节点 1n1 \sim n 的最终权值。

样例输入

5 3
1 2
1 3
2 4
2 5
1 2  // 子树1(所有节点)加2
2 3  // 子树2(节点2、4、5)加3
3 1  // 子树3(节点3)加1

样例输出

2 5 3 5 5