Slim Span UVA - 1395 (并查集)

Slim Span

 UVA - 1395 

Slim Span UVA - 1395 (并查集)_第1张图片

Slim Span UVA - 1395 (并查集)_第2张图片

题目大意:

给出m条边,问使n个节点连成一幅连通图的最大边减去最小边的最小值

思路:

对边按照边权排序,求出在边权从小到大的边序列中连续的可以使点连成图的边的最大值与最小值之差。再求暴力对比。

AC代码:

#include
#include
#include
using namespace std;
const int inf=0x3f3f3f3f;
struct Edge{
	int u,v,w;
	Edge(int u=0,int v=0,int w=0):u(u),v(v),w(w){}
	friend bool operator<(Edge a,Edge b)
	{
		return a.w=2)
			{
				if(r==m+1){
	 				flag=0;
					break;
				}
				build(edge[r]);
				r++;
			}
			if(!flag) break;
			minn=min(minn,edge[r-1].w-edge[l].w);
		}
		if(minn==inf) printf("-1\n");
		else printf("%d\n",minn);
	}
	
}

 

转载于:https://www.cnblogs.com/fly-white/p/10092713.html

你可能感兴趣的:(Slim Span UVA - 1395 (并查集))