poj-2914 最小割stoer算法
来源:互联网 发布:简单图表制作软件 编辑:程序博客网 时间:2024/05/19 13:58
这题说是模板题,用stoer算法可以过,关于这个算法,网上很多雷同的讲解,自己就没必要再贴一份了(搞不清谁是原著)
贴一个模板吧(提交是8000多ms,看牛人将可以达到500多ms,求牛人指点啊)
#include<cstdio>#include<iostream>#include<cstring>#define INF 1000000000using namespace std;const int N=505;int graph[N][N];int rec[N],v[N],w[N];int S,T,cost,n;inline void prim(){memset(w,0,sizeof(w));memset(v,0,sizeof(v)); S=T=-1;int i,k,Max;while(1){ Max=-INF,k=-1;for(i=0;i<n;i++){if(!rec[i]&&!v[i]&&w[i]>Max){Max=w[i];k=i;}}if(k==-1) return;v[k]=1;cost=Max;S=T,T=k;for(i=0;i<n;i++){if(!rec[i]&&!v[i]){w[i]+=graph[k][i];}}}}int stoer(){memset(rec,0,sizeof(rec));int mincut=INF;for(int i=0;i<n-1;i++){prim();rec[T]=1;if(cost<mincut) mincut=cost;if(mincut==0) return 0;for(int j=0;j<n;j++){if(!rec[j]){graph[S][j]+=graph[T][j];graph[j][S]+=graph[j][T];}}}return mincut;}int main(){int s,t,k,m;while(scanf("%d %d",&n,&m)!=EOF){ memset(graph,0,sizeof(graph)); while(m--){scanf("%d %d %d",&s,&t,&k);graph[s][t]+=k;graph[t][s]+=k; } printf("%d\n",stoer());}return 0;}
- poj-2914 最小割stoer算法
- poj 2914 最小割 Stoer-Wagner 算法
- poj 2914 无向图最小割 Stoer-Wagner算法
- poj 2914(无向图最小割Stoer-Wagner算法)
- POJ 2914 Minimum Cut 最小割集Stoer-Wagner算法(全局最小割)
- poj 2914 全局最小割 stoer wagner算法 最小割模板
- 最小割 Stoer-Wagner 算法
- poj 2914&&hdu 3002 全局最小割Stoer-Wagner算法模板
- poj 2914 Minimum Cut 求无向图的最小割 Stoer-Wagner算法模板
- poj 2914 Minimum Cut(无向图最小割 Stoer-Wagner算法)
- poj 2914 Minimum Cut 【无向图全局最小割 Stoer-wagner算法】
- 无向带权图最小割stoer-wagner算法(poj 2914 Minimum cut)
- POJ 2914 Minimum Cut Stoer-Wagner(全局最小割)
- 最小割集Stoer-Wagner算法【ZZ】
- 最小割集Stoer-Wagner算法
- 最小割集Stoer-Wagner算法
- 最小割集Stoer-Wagner算法
- 最小割集Stoer-Wagner算法
- 74 Open Source VoIP Apps & Resources
- 黑马程序员————循环的比较
- java.lang.NoClassDefFoundError: com/google/common/base/Charsets
- IE 播放器没有声音。
- URAL 1133
- poj-2914 最小割stoer算法
- bfs 管窥 poj3984
- apache php环境遇到的问题
- <Win32_9>SetWindowRgn函数的应用——绘制个性化形状的窗口
- poj 3321 线段树(将点转换为对应区间)
- 黑马程序员————枚举、结构与数组
- poj 1459 Power Network 最大流建图练习
- 查看本机.NET Framework版本
- 双字节除以单字节 除法 MCU:SONIX