QOJ.ac

QOJ

时间限制: 3 s 内存限制: 1024 MB 总分: 100

#1164. 最佳聚会地点

统计

给定一棵包含 $N$ 个顶点的树。顶点编号从 $1$ 到 $N$。第 $i$ 条边连接顶点 $A_i$ 和 $B_i$,权重为 $C_i$,其中 $1 \le i \le N - 1$。

树中两个顶点之间的“传送距离”定义为连接它们的最短路径上边的最大权重。顶点到自身的传送距离定义为 $0$。

居住在树上的人们想要举行 $N$ 次会议。第 $i$ 次会议由居住在编号为 $1$ 到 $i$ 的顶点上的人参加。今年,由于冠状病毒的传播,会议参与者将前往 $X$ 个选定的地点,然后从这些地点通过互联网连接。

更正式地说,对于每次会议,我们将选择 $X$ 个两两不同的顶点 $v_1, v_2, \dots, v_X$。一旦确定了这些顶点,每个人都会移动到 $v_1, \dots, v_X$ 中传送距离最小的那个顶点。我们将给定 $X$ 和 $i$ 下的“会议成本”定义为会议参与者中传送距离的最大值。我们将以使会议成本尽可能小的方式选择顶点 $v_1, \dots, v_X$。

$X$ 的值取决于冠状病毒的情况,可能在 $1$ 到 $K$ 之间变化。为了提前准备会议,请编写一个程序,对于 $N$ 次会议中的每一次,计算所有可能的 $X$ 值(从 $1$ 到 $K$)对应的会议成本之和。

输入格式

输入的第一行包含两个整数 $N$ 和 $K$:顶点数量和 $X$ 的上限($1 \le K \le N \le 3 \cdot 10^5$)。

接下来的 $N - 1$ 行描述了这棵树。每行包含三个整数 $A_i, B_i$ 和 $C_i$,表示顶点 $A_i$ 和 $B_i$ 之间存在一条权重为 $C_i$ 的边($1 \le A_i, B_i, C_i \le N$)。保证给定的图是一棵树。

输出格式

输出 $N$ 行。第 $i$ 行输出第 $i$ 次会议对于所有 $X$ 从 $1$ 到 $K$ 的会议成本之和。

样例

样例输入 1

10 4
5 1 2
1 6 4
6 2 1
2 8 9
8 3 5
3 4 8
4 10 9
10 9 8
9 7 7

样例输出 1

0
4
13
21
23
23
30
31
33
34

样例输入 2

8 3
7 3 4
4 5 2
3 6 1
6 8 6
8 5 1
2 5 8
1 5 2

样例输出 2

0
8
14
16
16
16
18
18

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.