题目 30126

最小直径生成树

查看题解 ↗GitHub ↗如何评测
题号
30126
时间限制
10000 ms
内存限制
1024 MB
标签
图论
来源
Library Checker (yosupo06) - minimum_diameter_spanning_tree

【题目描述】

给定一个带权无向图,图中有 NN 个顶点和 MM 条边。第 ii 条边为 (ai,bi)(a_i, b_i),权值为 cic_i。这个图可能不是简单图。

请找出一棵直径最小的生成树。

【输入】

第一行包含两个整数 NN 和 MM。

接下来 MM 行,第 ii 行包含三个整数 aia_i、bib_i 和 cic_i,表示一条连接顶点 aia_i 和 bib_i、权值为 cic_i 的边。

文本
$N$ $M$
$a_0$ $b_0$ $c_0$
$a_1$ $b_1$ $c_1$
:
$a_{M - 1}$ $b_{M - 1}$ $c_{M - 1}$

【输出】

输出两行。

文本
$X$
$e_0$ $e_1$ $e_2$ ... $e_{N - 2}$

第一行输出 XX。

第二行输出 e0e_0、e1e_1、e2e_2、……、eN−2e_{N-2}。

XX 是直径最小的生成树的直径。eie_i 是直径最小的生成树中边的编号。 如果有多个正确答案,输出任意一个即可。

【输入样例】

文本
4 7
0 1 1
0 1 2
1 1 0
0 2 2
1 2 2
0 3 1
2 3 3

【输出样例】

文本
3
0 5 3 

【输入样例2】

文本
4 3
0 1 1
1 2 2
3 1 3

【输出样例2】

文本
5
0 1 2 

【输入样例3】

文本
6 5
0 1 1000000000
1 2 1000000000
2 3 1000000000
3 4 1000000000
4 5 1000000000

【输出样例3】

文本
5000000000
0 1 3 4 2 

【输入样例4】

文本
1 0

【输出样例4】

文本
0

【数据范围】

  • 1≤N≤20001 \leq N \leq 2000
  • N−1≤M≤2000N - 1 \leq M \leq 2000
  • 0≤ai,bi<N0 \leq a_i, b_i < N
  • 0≤ci≤10000000000 \leq c_i \leq 1000000000
  • 给定的图是连通的。

【来源】

Library Checker(yosupo06) minimum_diameter_spanning_tree

本题为 special judge(输出任意合法解),暂不可本地评测。

数据下载

题目 30126 的公开数据

正在读取文件列表…

常用命令

题目 30126 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。