LA3887 最小生成树 枚举最小边
来源:互联网 发布:suse linux 网关 编辑:程序博客网 时间:2024/05/22 19:22
题意:求树苗度=(最大边-最小边)最小的生成树
结论:最小生成树也是最大边最小生成树
枚举最小边(删除更小边即可),求最小生成树。出题思路:将最大和最小结合起
变题1:求最小乘积生成树
对每条边log后,求最小生成树即可
变题2:f(最大边,最小边)最小/大的生成树,该函数是最大边的增函数
仍然是枚举最小边,求最小/大生成树
#include<stdio.h>#include<string.h>#include<iostream>#include<vector>#include<queue>#include<algorithm>#define maxm 1000000#define maxn 110#define rad 10000#define INF 1<<28#define ll long long#define rad 10000#define mem(a,b) memset(a,b,sizeof(a))using namespace std;int n,m,minn,maxx;struct Node{ int u,v,w; bool operator < (const Node&rhs) const{ return w<rhs.w; }}node[maxn*maxn<<2];int cnt,p[maxn];int Find(int u) { return (p[u]==u)?u:p[u]=Find(p[u]); }bool kruscal(int u){ for(int i=1;i<=n;i++) p[i]=i; cnt=0,minn=INF,maxx=0; for(int i=u;i<=m;i++){ int x=Find(node[i].u),y=Find(node[i].v); if(x!=y){ p[x]=y,cnt++; minn=min(minn,node[i].w),maxx=max(maxx,node[i].w); } } if(cnt<n-1) return 0; else return 1;}int main(){ //freopen("a.txt","r",stdin); while(scanf("%d%d",&n,&m)!=EOF){ if(!n&&!m) break; for(int i=1;i<=m;i++) scanf("%d%d%d",&node[i].u,&node[i].v,&node[i].w); sort(node+1,node+m+1); int ans=INF; for(int i=1;i<=m;i++){ if(!kruscal(i)) break; ans=min(ans,maxx-minn); } if(ans==INF) printf("-1\n"); else printf("%d\n",ans); }}
0 0
- LA3887 最小生成树 枚举最小边
- Kingdoms 枚举+最小生成树
- HDU 2489 DFS枚举+最小生成树
- hdu 2489(枚举 + 最小生成树)
- [BZOJ1050]HAOI2007旅行|最小生成树|枚举
- csu1116 Kingdoms 最小生成树-枚举状态
- csu1116 最小生成树加枚举
- 最小比例 最小生成树
- 【最小生成树】CF160D最小生成树中的边
- poj 3522 Slim Span(枚举+最小生成树)
- poj3522-kruscal算法求最小生成树+枚举
- hdu 2489 Minimal Ratio Tree(枚举+最小生成树)
- hdu 2489 Minimal Ratio Tree(dfs枚举 + 最小生成树)~~~
- 【UVALive】3887 Slim Span 枚举+最小生成树
- hud1598 find the mostcomfortable road最小生成树 暴力枚举
- 1116: Kingdoms+csuoj+暴力枚举+最小生成树
- 第八届省赛F题 (枚举+最小生成树)
- POJ 3925 Minimal Ratio Tree(枚举+最小生成树)
- MSI实现SILENT安装自动化
- Java线程:新特征-阻塞栈
- commons-logging和log4j
- 鼠标事件
- bzoj 2243 染色 树链剖分 好题!
- LA3887 最小生成树 枚举最小边
- django model filter 条件过滤
- Android基础系列----------- 资源适配
- Linux下的MySQL简单操作(服务启动与关闭、启动与关闭、查看版本)
- KVM Qemu libvirt
- 1071.Speech Patterns
- 1072.Gas Station
- 【Unity】关于Waypoint的寻路
- cookie 和session 的区别详解