长乐集训合集
Posted sjsjsj-minus-si
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了长乐集训合集相关的知识,希望对你有一定的参考价值。
## 最小差值生成树
题目保证一定有生成树,并且图是联通的,那么我们只需要加一些限制条件枚举最小生成树即可.;
按边从小到大排序,然后从最小边开始枚举,暴力尝试添加每一条边,期望时间复杂度
O(M^2logN)
.
inline void kruskal()
sort(e+1,e+m+1);
rep(i,1,m)
makeset(n);//对于每条最小边都做一次最小生成树。
int cnt=1;
fa[e[i].u]=e[i].v;
int maxv=e[i].w;
rep(j,i+1,m)
int fu=find(e[j].u),fv=find(e[j].v);
if(fu==fv)continue;
fa[fu]=fv;
maxv=max(maxv,e[j].w);
if(++cnt==n-1)break;
if(cnt==n-1)//这里一定要判一下是不是==n-1,因为可能图不连通
ans=min(ans,maxv-e[i].w);
以上是关于长乐集训合集的主要内容,如果未能解决你的问题,请参考以下文章