#P4120. [WC2012] 最小生成树

[WC2012] 最小生成树

题目描述

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

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

输入格式

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

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

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

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

顶点由 11 至 nn 编号。

输出格式

输出到文件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 的最小生成树唯一,且此时的代价之和为最小值。

【数据范围】

测试点66~1010下载