#S8U12P01. Kruskal建设费用

Kruskal建设费用

Kruskal建设费用

难度:T2

【知识点:Kruskal最小生成树】

前置知识:本单元此前讲解的状态、边界与实现。

题目描述

从候选无向边中选择一些,使全部顶点连通且不形成环,求最小总费用。如果原图不连通,报告无法建设。

输入格式

其中 nn 为顶点数,顶点编号为 11 到 nn;mm 为随后给出的带权边条数。每条带权边独占一行,依次为 u,v,wu,v,w,表示从 uu 到 vv 的边及权值 ww;无向边可双向通行,有向边只能从 uu 到 vv 通行。

输入nn、mm,再输入mm条无向边uu、vv、ww;允许自环、重边和负权。

规则说明

生成树是选取原图中的一部分边,使所有顶点连通且不形成环;费用为选中边的权值之和。最小生成树是在所有生成树中总费用最小的一个。只有一个顶点时,不选边即可形成生成树,费用为 00。

输出格式

存在生成树输出最小总费用,否则输出IMPOSSIBLE。

数据范围

1≤n≤1000001\le n\le 100000,0≤m≤2000000\le m\le 200000,∣w∣≤109|w|\le 10^9。

样例输入

4 5
1 2 1
2 3 2
1 3 4
3 4 3
2 4 5

样例输出

6

样例说明

选择连接 11 与 22、22 与 33、33 与 44 的三条边,可连通全部顶点,总费用为 1+2+3=61+2+3=6。