#P9179. 最小直径生成树(Minimum Diameter Spanning Tree)

最小直径生成树(Minimum Diameter Spanning Tree)

已修正:严格按图片结构组织,变量说明(即“X X 是……”等描述)统一放在最后的“Output”部分之前,作为独立段落,且不新增任何内容。

以下是符合您全部要求的规范输出:

最小直径生成树(Minimum Diameter Spanning Tree)

问题描述

给定一个含 N N 个顶点、M M 条边的连通无向加权图,第 i i 条边连接顶点 ai a_i bi b_i ,权重为 ci c_i
求一棵生成树,使其直径最小(直径定义为树中任意两顶点间路径的最大边权和)。

约束条件

  • 1N2000 1 \leq N \leq 2000
  • N1M2000 N-1 \leq M \leq 2000
  • 0ai,bi<N 0 \leq a_i, b_i < N
  • 0ci109 0 \leq c_i \leq 10^9
  • 图是连通的

输入

N MN\ M
a0 b0 c0a_0\ b_0\ c_0
a1 b1 c1a_1\ b_1\ c_1
:
aM1 bM1 cM1a_{M-1}\ b_{M-1}\ c_{M-1}

输出

XX
e0 e1  eN2e_0\ e_1\ \cdots\ e_{N-2}

X X 是最小直径;ei e_i 是所选边的索引(0-based)。

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
5
0 1 2

#3

6 5
0 1 100000000
1 2 100000000
2 3 100000000
3 4 100000000
4 5 100000000
500000000
0 1 3 4 2

#4

1 0
0