25年2月-C组(大咖)
Contest is over.
开始 2025-02-08 08:00:00
当前 2025-06-21 21:37:39
结束 2025-02-09 23:00:00

C. 供水系统

题目描述

某城市的供水系统由 N 个水站构成,各水站通过管道相连,形成了一棵以水站 1 为根的树形结构

为提高居民用水体验,市政工程师计划对供水系统进行升级。系统初始时各水站的水压均为 0

升级工程分为 Q 个阶段,第 j 个阶段,工程师会选择一个水站 P_j,并对该水站及其所有下游水站(即以水站 P_j 为根的子树中所有的水站)进行水压提升操作,使其水压增加 X_j

请你协助工程师计算出经过所有升级阶段后,每个水站的最终水压值。

输入

输入的第一行包含两个整数 NQ,分别表示水站的数量和升级阶段的次数。

接下来的 N-1 行,每行包含两个整数 U_iV_i,表示水站 U_i 和水站 V_i 之间有一条管道连接(保证形成一棵以水站 1 为根的树状结构)。

之后的 Q 行,每行包含两个整数 P_jX_j,表示在一次升级中,将水站 P_j 及其下游水站的水压各增加 X_j

输出

输出一行,包含 N 个整数,第 i 个数表示水站 i 在所有升级阶段后的最终水压值,各数值之间用空格隔开。

样例

输入

5 3
1 2
1 3
2 4
3 5
2 15
1 20
4 30

输出

20 35 20 65 20

输入

8 6
1 2
1 3
2 4
2 5
3 6
3 7
5 8
2 25
3 30
4 10
6 20
1 15
7 35

输出

15 40 45 50 40 65 80 40

输入

20 10
1 2
1 3
2 4
2 5
3 6
3 7
4 8
4 9
5 10
5 11
6 12
6 13
7 14
7 15
8 16
9 17
10 18
12 19
15 20
1 5
2 10
3 15
4 20
5 25
6 30
7 35
8 40
9 45
10 50

输出

5 15 20 35 40 50 55 75 80 90 40 50 50 55 55 75 80 90 50 55
说明

样例 1 说明

给定供水网络的结构如下:

    1
   / \
  2   3
 /     \
4       5

各水站(结点)初始水压均为 0。接下来的操作依次为:

  • 第一阶段:选择水站 2,将水站 2 及其下属水站(水站 4)的水压各增加 15

    • 水站 20 + 15 = 15
    • 水站 40 + 15 = 15
    • 其他节点保持 0
  • 第二阶段:选择水站 1,即:对整个供水系统所有水站水压增加 20

    • 水站 10 + 20 = 20
    • 水站 215 + 20 = 35
    • 水站 30 + 20 = 20
    • 水站 415 + 20 = 35
    • 水站 50 + 20 = 20
  • 第三阶段:选择水站 4,仅对水站 4 增加 30

    • 水站 435 + 30 = 65

最终各水站的水压为:

  • 水站 120
  • 水站 235
  • 水站 320
  • 水站 465
  • 水站 520

数据范围

对于 10\% 的数据,满足 P_j=1

对于另外 10\% 的数据,满足 Q=1

对于 60\% 的数据,满足 2 \leq N \leq 1002 \leq Q \leq 100

对于 100\% 的数据,满足 2 \leq N \leq 2 \times 10^51 \leq Q \leq 2 \times 10^51 \leq U_i, V_i \leq N1 \leq P_j \leq N1 \leq X_j \leq 10^4

编辑代码
登录

注册
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 84
通过人数 49
金币数量 0 枚
难度 入门
提交