#P17019. [ROI 2026 Day1] 泰莫利亚的调查

    ID: 17267 Type: RemoteJudge 2000ms 1024MiB Tried: 0 Accepted: 0 Difficulty: 9 Uploaded By: Tags>动态规划 DP贪心线段树网络流2026ROI(俄罗斯)反悔贪心闵可夫斯基和 Minkowski sum

[ROI 2026 Day1] 泰莫利亚的调查

题目描述

泰莫利亚是北方最强大的王国之一,首都是维吉玛城。女术士特莉丝住在维吉玛城,她察觉到了强烈的魔法异常,决定调查泰莫利亚王国以找到异常的源头。

泰莫利亚有 nn 座城市,编号为 11 到 nn,首都维吉玛的编号为 11。城市之间由 n−1n - 1 条双向道路连接,第 ii 条道路连接城市 uiu_i 和 viv_i,长度为 wiw_i。保证特莉丝仅靠这些道路便可以从任意一座城市到达任意另一座城市。

特莉丝计划从维吉玛出发,最终回到维吉玛,并途经全部 nn 座城市。她可以沿道路行走,但这很慢。她拥有 kk 个传送水晶,可以用来在城市之间瞬间移动。

特莉丝可以在任意时刻将水晶留在当前所在的城市。之后,她可以使用此前留下的水晶,沿最短路径瞬间返回到她留下该水晶的城市。使用后水晶会碎裂。特莉丝可以按任意顺序留下和使用水晶。遗憾的是,传送并非不留痕迹。具体而言,如果特莉丝在城市 aa 使用水晶并到达城市 bb,那么在从 aa 到 bb 的最短路径上的所有城市(包括 aa 和 bb)都会留下魔法痕迹,此后的传送路线不能再经过这些城市。

请帮助特莉丝。对每个 jj(从 11 到 kk,包含 kk),求出她最多使用 jj 个水晶便走遍王国所有城市并返回维吉玛所需走过的最小总距离。

输入格式

第一行包含两个整数 nn 和 kk(2≤n≤500 0002 \le n \le 500\,000;1≤k≤n1 \le k \le n),分别表示城市数量以及特莉丝拥有的传送水晶数量。

接下来的 n−1n - 1 行描述道路:每行包含三个整数 uiu_i、viv_i 和 wiw_i(1≤ui,vi≤n1 \le u_i, v_i \le n;1≤wi≤1091 \le w_i \le 10^9),分别表示第 ii 条道路连接的两座城市及其长度。

输出格式

输出 kk 个整数,其中第 jj 个数表示在使用不超过 jj 个水晶的前提下,特莉丝走遍所有城市并返回维吉玛所需走过的最小总距离。

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

提示

说明

在第一个样例中,特莉丝的最优路线如下:

  • 特莉丝在城市 11 留下一个水晶,然后沿路线 1→2→1→3→4→3→51 \to 2 \to 1 \to 3 \to 4 \to 3 \to 5 行走,之后使用水晶,瞬间返回城市 11。

在第二个样例中,最优路线如下:

  • 特莉丝沿路线 1→5→11 \to 5 \to 1 行走,然后在城市 11 留下水晶,接着沿路线 $1 \to 9 \to 1 \to 2 \to 3 \to 7 \to 3 \to 4 \to 8 \to 4 \to 6 \to 10$ 行走,并在城市 11 使用水晶。这条路线的长度为 8686,且特莉丝恰好使用了一个水晶。

在另一种方案中,特莉丝需要使用两个水晶,分别记为 xx 和 yy:

  • 特莉丝在城市 11 留下水晶 xx;
  • 然后沿路线 $1 \to 5 \to 1 \to 9 \to 1 \to 2 \to 3 \to 7 \to 3 \to 4 \to 6$ 行走;
  • 在城市 66 留下水晶 yy;
  • 接着从 66 走到 1010,使用水晶 yy 返回城市 66;
  • 再沿路线 6→4→86 \to 4 \to 8 行走;
  • 最后使用水晶 xx 结束行程。

子任务

子任务 分数 nn、kk 额外限制 依赖子任务
1 9 n≤150 000n \le 150\,000;k=1k = 1
2 5 n≤100n \le 100
3 10 n≤5 000n \le 5\,000 2
4 9 n≤150 000n \le 150\,000;k≤300k \le 300 1 – 2
5 11 n≤150 000n \le 150\,000 完全二叉树∗^{*},wi=1w_i = 1
6 wi=1w_i = 1 5
7 15 特殊图∗∗^{**}
8 12 每座城市至多有 1010 条道路
9 11 1 – 8
10 4 n≤300 000n \le 300\,000 1 – 9
11 3 n≤500 000n \le 500\,000 1 – 10

∗^{*} 子任务 5 中的完全二叉树是指由 2s−12^s - 1 个顶点构成的树(n=2s−1n = 2^s - 1),其中对于每个 ii(1≤i≤2s−1−11 \le i \le 2^{s-1} - 1),存在边 (i,2i)(i, 2i) 和 (i,2i+1)(i, 2i + 1)。

∗∗^{**} 子任务 7 中的特殊图是指由奇数 nn 个顶点构成的树,其中对于每个 ii(1≤i≤n−121 \le i \le \frac{n-1}{2}),存在边 (1,2i)(1, 2i) 和 (2i,2i+1)(2i, 2i + 1)。

:::align{center} :::

翻译由 DeepSeek V4 Pro 完成