loj#P4797. 「RMI 2021」Paths

「RMI 2021」Paths

题目描述

题目译自 Romanian Master of Informatics 2021 Day2 T2 「Paths

橘猫找到了一个有 NN 个顶点(编号从 11NN)的树。在连接顶点 xix_{i}yiy_{i} 的每条边 i (1i<N)i\ (1 \leq i<N) 上,都有 cic_{i} 个特殊的猫零食。

橘猫可以选择恰好 KK 个顶点,从树的根节点走到每个选择的顶点,沿着从根节点到相应顶点的路径,并沿途取走所有的猫零食。当然,他只能在每条边上取一次零食。因为橘猫是一只好奇的猫,他想知道对于 11NN 的每个 ii,如果根节点是顶点 ii,他通过优化选择 KK 个顶点可以获得的最大可能的零食数量,。

输入格式

输入的第一行包含两个整数 NNKK,分别是树的顶点数和橘猫将选择的顶点数。接下来的 N1N-1 行,每行包含三个整数 xix_{i}yiy_{i}cic_{i},描述树的边。

输出格式

输出 NN 行,第 ii 行输出如果树的根节点是顶点 ii,橘猫可以获得的最大零食数量。

11 3
1 2 5
2 3 3
2 6 5
3 4 4
3 5 2
1 7 6
7 8 4
7 9 5
1 10 1
10 11 1
28
28
28
32
30
32
28
32
32
29
30

如果根节点是顶点 11,那么橘猫可以选择顶点 4,6,94,6,9。从根节点到所选顶点的路径是 1234,126,1791\to 2\to 3\to 4,1\to 2\to 6,1\to 7\to 9,沿这些路径的零食数量是 5+3+4+5+6+5=285+3+4+5+6+5=28。请注意,边 121\to 2 上的零食只计算一次。

数据范围与提示

对于所有输入数据,满足:

  • 1KN1051 \leq K \leq N \leq 10^5
  • 0ci109 (1i<N)0 \leq c_{i} \leq 10^9\ (1 \leq i<N)

详细子任务附加限制及分值如下表所示。

子任务 分值 附加限制
11 88 N18N \leq 18
22 1111 N200,K20N \leq 200, K \leq 20
33 1717 N1000,K100N \leq 1000, K \leq 100
44 2020 N2000N \leq 2000
55 1212 K=1K=1
66 3232 无附加限制