#aBC252E. [ABC252E] Road Reduction

[ABC252E] Road Reduction

AT_abc252_e [ABC252E] Road Reduction

题目描述

AtCoder 王国有 NN 个城市,编号为 1,2,,N1,2,\ldots,N,以及 MM 条道路,编号为 1,2,,M1,2,\ldots,M
ii 条道路连接城市 AiA_iBiB_i,是双向的,长度为 CiC_i
任意两个城市之间都可以通过若干条道路互相到达。

由于财政困难,王国决定只保留 N1N-1 条道路进行维护,其余的道路将被废弃,要求仍然满足任意两个城市之间都可以通过若干条被保留的道路互相到达。

对于每个城市 ii2iN2 \leq i \leq N),定义 did_i 为仅通过被保留的道路,从城市 11 到城市 ii 的最短距离。
请输出一种选择被保留的道路的方案,使得 d2+d3++dNd_2+d_3+\ldots+d_N 的值最小。
请输出被保留的道路的编号,编号之间用空格分隔,顺序不限。若有多种方案,输出任意一种均可。

输入格式

输入以以下格式从标准输入读入。

NN MM
A1A_1 B1B_1 C1C_1
A2A_2 B2B_2 C2C_2
\vdots
AMA_M BMB_M CMC_M

输出格式

请输出被保留的道路的编号,编号之间用空格分隔,顺序不限。
如果有多种方案,输出任意一种均可。

输入输出样例 #1

输入 #1

3 3
1 2 1
2 3 2
1 3 10

输出 #1

1 2

输入输出样例 #2

输入 #2

4 6
1 2 1
1 3 1
1 4 1
2 3 1
2 4 1
3 4 1

输出 #2

3 1 2

说明/提示

限制条件

  • 2N2×1052 \leq N \leq 2 \times 10^5
  • N1M2×105N-1 \leq M \leq 2 \times 10^5
  • 1Ai<BiN1 \leq A_i < B_i \leq N
  • 对于 iji \neq j(Ai,Bi)(Aj,Bj)(A_i, B_i) \neq (A_j, B_j)
  • 1Ci1091 \leq C_i \leq 10^9
  • 任意两个城市之间都可以通过若干条道路互相到达
  • 输入中的所有数值均为整数

样例说明 1

被保留的道路选择及 did_i 的值如下:

  • 保留道路 1,21,2 时,d2=1d_2=1d3=3d_3=3
  • 保留道路 1,31,3 时,d2=1d_2=1d3=10d_3=10
  • 保留道路 2,32,3 时,d2=12d_2=12d3=10d_3=10
    因此,保留道路 1,21,2 时,d2+d3d_2+d_3 最小。

由 ChatGPT 4.1 翻译