hdu7159
题面
给定一个带权无向图,求最少删掉几条边,可以使整个图的最大生成树的权值发生改变。
数据范围:\(n\le 10^5,m\le 2\times 10^5\) ,权值相同的边的个数 \(\le 10^2\) 。
题解
突然发现自己忘记了最小生成树的性质:对于任意一个最小生成树的方案,其所有权值相同的边加入后所形成的连通块要一样的。
这就说明,如果我们可以把其中任意一个连通块割到不连通,那么方案就合法了。
所以我们就可以对每个连通块单独考虑最少要割多少边,其实就是求普通图的最小割。
一种做法是任选一个点作为 \(S\) ,枚举剩下的点作为 \(T\) ,然后直接跑 \(n-1\) 遍最小割。
看起来复杂度很假但是可以过。
还有一种叫 Stoer-Wagner 的算法可以更快求,但我不会qwq。
启发
- 记得最小生成树的性质!!!!