A24634.道路削减

普及/提高-

通过率:0%

时间限制:2.00s

内存限制:256MB

题目描述

时间限制:2000ms
内存限制:256MB

现有 NN 座城市 1,2,,N1, 2, \ldots, NMM 条道路 1,2,,M1, 2, \ldots, M
城市 AiA_iBiB_i 由一条长度为 CiC_i 的双向道路 ii 连接。
可以通过某些道路在任意两座城市之间通行。

现希望只保留 N1N-1 条道路,并且使用保留的道路仍然可以来往于任意两个城市之间。

did_i 是仅使用保留的道路时,从城市 11 到城市 ii 的最短路径。
请你输出一种道路的选择方案,使 d2+d3++dNd_2+d_3+\ldots+d_N 最小。

数据范围\large{数据范围}

  • 2N2×1052 \leq N \leq 2\times 10^5
  • N1M2×105N-1 \leq M \leq 2\times 10^5
  • 1Ai<BiN1 \leq A_i \lt B_i \leq N
  • (Ai,Bi)(Aj,Bj)(A_i,B_i)\neq(A_j,B_j)iji\neq j.
  • 1Ci1091\leq C_i \leq 10^9
  • 可以通过某些道路在任意两座城市之间通行。
  • 所有输入数值均为整数。

输入格式

对于每个测试文件输入格式如下:

N M\tt{N\ M}
A1 B1 C1\tt{A_1\ B_1\ C_1}
A2 B2 C2\tt{A_2\ B_2\ C_2}
\tt{\vdots}
AM BM CM\tt{A_M\ B_M\ C_M}

输出格式

按任意顺序输出要保留的道路编号,中间用空格隔开。
如果存在多个解决方案,输出任意一个即可。

输入输出样例

  • 输入#1

    3 3
    1 2 1
    2 3 2
    1 3 10

    输出#1

    1 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

说明/提示

样例 11
以下是可能选择维护的道路以及 did_i 对应的值。

  • 维护道路 1122d2=1d_2=1, d3=3d_3=3 .
  • 维护道路 1133d2=1d_2=1, d3=10d_3=10 .
  • 维护道路 2233d2=12d_2=12, d3=10d_3=10 .

因此,维护道路 1122 可以最大限度地减少 d2+d3d_2+d_3

首页