#P1125. 【模板】树上差分(路径点权累加)

    ID: 137 传统题 1000ms 256MiB 尝试: 0 已通过: 0难度: 普及+/提高− ← 上一题 下一题 → 随机一题 上传者: 标签 模板题 树上差分 最近公共祖先 LCA 树 深度优先搜索 DFS
显示设置

【模板】树上差分(路径点权累加)

题目描述

给定一棵 nn 个点的树,点编号 1∼n1\sim n,规定 11 号点为根。初始时每个点的权值都是 00。

接下来有 mm 次操作,第 ii 次操作给出两个点 uiu_i 和 viv_i,表示把「从 uiu_i 到 viv_i 的唯一一条路径」上的每个点的权值都加 11(路径的两个端点也算在内)。

请输出 mm 次操作全部做完之后,每个点的权值。

输入格式

第一行两个整数 nn 和 mm。

接下来 n−1n-1 行,每行两个整数 uu 和 vv,表示树上的一条边。

接下来 mm 行,每行两个整数 uu 和 vv,表示一次操作。

输出格式

一行 nn 个整数,第 ii 个数表示 ii 号点最终的权值,相邻两个整数之间用一个空格隔开。

输入输出样例 #1

输入 #1

5 3
1 2
1 3
2 4
2 5
4 5
3 4
1 2

输出 #1

2 3 1 2 1

说明

数据规模:1≤n,m≤2×1051\le n,m\le 2\times 10^5,保证树连通,1≤u,v≤n1\le u,v\le n(u=vu=v 表示只给这一个点加 11)。