#P4120. [WC2012] 最小生成树

[WC2012] 最小生成树

题目描述

给定无向带权连通图GG,我们希望通过修改边的权值,使它的最小生成树唯一,已知减小,增加一条边的权值的单位代价分别为 aabb,且修改后的权值必须为非负整数。

例如,对某个图GG,如果将一条边的权值减 33,另一条边的仅值加 22 之后,它的最小生成树唯一,则此时的代价之和是 3a3a2b2b。试计算代价之和的最小值。

输入格式

从文件mst.in中读入数据。

第一行包含字符串“mstmst” 和数据编号。

第二行包含 44 个正整数 nn,mm,aa,bb,分别表示图 GG 顶点的个数,边的条数,以及对一条边的权值减小 11,增加 11 的代价。

接下来 mm 行,每行 33 个正整数 xx,yy,ww,表示顶点 xx 和顶点 yy 之间有一条初始权值为 ww 的边。

顶点由 11nn 编号。

输出格式

输出到文件mst.out中。

输出文件仅一行,包含一个整数,表示最小代价,无需修改则输出 00

mst 0
4 5 2 3
1 2 1
1 3 1
2 3 1
2 4 2
3 4 2
5

提示

【样例说明】

将边(2,4)(2,4)的权值减 11,边(2,3)(2,3)的权值加 11 之后,图 GG 的最小生成树唯一,且此时的代价之和为最小值。

【数据范围】

QQ20180115212959.png

测试点66~1010下载