poj 2914&&hdu 3002 全局最小割Stoer-Wagner算法模板
来源:互联网 发布:即时通讯软件代码购买 编辑:程序博客网 时间:2024/06/05 14:34
#include<stdio.h>#include<string.h>#include<iostream>#define inf 0x3fffffff#define N 510int n,ma[N][N],combine[N];int seach(int &s,int &t) { int vis[N],i,j,tm,maxx,w[N]; memset(vis,0,sizeof(vis)); memset(w,0,sizeof(w)); tm=10000; for(i=0;i<n;i++) { maxx=-inf; for(j=0;j<n;j++) if(!vis[j]&&!combine[j]&&maxx<w[j]) {//找到最大值 maxx=w[j]; tm=j; } if(t==tm) {return w[t];}//最后t和tm相等 vis[tm]=1; s=t;t=tm; for(j=0;j<n;j++)// if(!vis[j]&&!combine[j]) w[j]+=ma[t][j]; } return w[t];}int mincut() {int mi=inf,ans,i,s,t,j;memset(combine,0,sizeof(combine));for(i=0;i<n-1;i++) {//只需要找n-1次 s=-1;t=-1; ans=seach(s,t);//找到t和t的前一个点s combine[t]=1;//移除 if(ans<mi)mi=ans; for(j=0;j<n;j++) {//将t合并到s点 ma[s][j]+=ma[t][j]; ma[j][s]+=ma[j][t]; }}return mi;}int main() { int m,i,j,k; while(scanf("%d%d",&n,&m)!=EOF) { memset(ma,0,sizeof(ma)); while(m--) { scanf("%d%d%d",&i,&j,&k); ma[i][j]+=k;ma[j][i]+=k; } printf("%d\n",mincut()); }return 0;}
0 0
- poj 2914&&hdu 3002 全局最小割Stoer-Wagner算法模板
- poj 2914 全局最小割 stoer wagner算法 最小割模板
- poj 2914 最小割 Stoer-Wagner 算法
- POJ 2914 Minimum Cut 最小割集Stoer-Wagner算法(全局最小割)
- Stoer-Wagner算法求全局最小割
- 全局最小割集Stoer-Wagner算法
- POJ 2914 Minimum Cut Stoer-Wagner(全局最小割)
- 最小割Stoer-Wagner算法模板hdu3691
- poj 2914 Minimum Cut 【无向图全局最小割 Stoer-wagner算法】
- poj 2914 无向图最小割 Stoer-Wagner算法
- poj 2914(无向图最小割Stoer-Wagner算法)
- poj 2914 Minimum Cut 求无向图的最小割 Stoer-Wagner算法模板
- 【最小割】Stoer-Wagner模板
- POJ2914 Minimum Cut 【全局最小割Stoer-Wagner模板题】
- 最小割 Stoer-Wagner 算法
- 全局最小割Stoer-Wagner算法 时间复杂度(o^3)
- POJ_P2914 Minimum Cut(Stoer-Wagner算法 全局最小割)
- poj2914(stoer-wagner算法求解全局最小割)
- HDU 4565 So Easy!
- 软件开发心得点滴记录
- IOS成长之路-ASIFormDataRequest实现上传图片
- Js Object to JSONString
- Oracle Stream Replication技术
- poj 2914&&hdu 3002 全局最小割Stoer-Wagner算法模板
- TextView 下划线/字体/颜色
- String转Date的类型转换器
- 高并发,大数据量,你的系统考虑哪些问题?
- 《Windows核心编程系列》十四谈谈默认堆和自定义堆
- android应用程序的混淆打包(转)
- xcode 编译报错directory not found for option '-L' “—F”
- HDU 4572 Bottles Arrangement
- 华标律师建议不要购买三种便宜房