博客观赏效果更佳
题意简述
有一个 n n n个节点的图,还有 m m m条边。找到一颗生成树,使得最大边和最小边之间差最小。
n<=2000,m<=15000,边权2e9。
思路框架
边按边权排序;枚举最小边,枚举最大边,直到联通为止 b r e a k break break。并查集维护。
看起来是 O ( m 2 ) O(m^2) O(m2),但实际情况会快很多。
具体思路
上面没有细讲的,有一个小优化:
我们枚举边 i i i, j j j从 i i i到 m m m枚举最大边。
如果 j = m j=m j=m了,而且此时图还不连通,就直接整个 b r e a k break break。因为