2647 - 次小生成树
时间限制 : 1 秒
内存限制 : 128 MB
小C最近学了很多最小生成树的算法,Prim算法、Kurskal算法、消圈算法等。正当小C洋洋得意之时,小P又来泼小C的冷水了。小P说,让小C求出一个无向图的次小生成树,而且这棵次小生成树还得是严格次小的,也就是说:如果最小生成树选择的边集是EM,,严格次小生成树选择的边集是ES,那么需要满足:(value(e)表示边e的权值)
这下小C蒙了,他找到了你,希望你帮他解决这个问题。
输入
第一行包括两个整数N和M,表示无向图的点数与边数。
接下来M行,每行3个数a,y,z,表示点x和点y之间有一条边,边的权值为z。
输出
包含一行,仅一个数,表示严格次小生成树的边权和。(数据保证存在严格次小生成树)。
样例
输入
5 6 1 2 1 1 3 2 2 4 3 3 5 4 3 4 3 4 5 6
输出
11
提示
【数据规模】
数据中无向图无自环。
对于50%的数据,N≤2000,M≤3000。
对于80%的数据,N≤50000,M≤100000。
对于100%的数据,N≤100000,M≤300000,边权值非负且不超过10的9次方。
来源
一本通