最小割集 hdu 3002 ( 模板)
来源:互联网 发布:网络平台贷款不还钱 编辑:程序博客网 时间:2024/06/07 03:48
最小割集Stoer-Wagner算法
最小割集 Stoer-Wagner算法初探
#include<stdio.h>#include<string.h>const int N=105;const int INF=1<<30;int map[N][N];int wet[N];int vis[N];int combine[N];int S,T,mincut,n;void search(){int i,j,max,tmp;memset(vis,0,sizeof(vis));memset(wet,0,sizeof(wet));S=T=-1;for(i=0;i<n;i++){max=-INF;for(j=0;j<n;j++){if(!combine[j]&&!vis[j]&&wet[j]>max){tmp=j;max=wet[j];}}if(T==tmp) return;S=T;T=tmp;mincut=max;vis[tmp]=1;for(j=0;j<n;j++){if(!combine[j]&&!vis[j])wet[j]+=map[tmp][j];}}}int Stoer_Wagner(){int i,j;memset(combine,0,sizeof(combine));int ans=INF;for(i=0;i<n-1;i++){search();if(mincut<ans) ans=mincut;if(ans==0) return 0; //非连通图combine[T]=1;for(j=0;j<n;j++){if(!combine[j]){map[S][j]+=map[T][j];map[j][S]+=map[j][T];}}}return ans;}int main(){int a,b,c,m,i;while(~scanf("%d%d",&n,&m)){memset(map,0,sizeof(map));for(i=0;i<m;i++){ scanf("%d%d%d",&a,&b,&c); map[a][b]+=c; map[b][a]+=c;}printf("%d\n",Stoer_Wagner());}return 0;}
- 最小割集 hdu 3002 ( 模板)
- hdu 3002 全局最小割模板题
- (最小割模板)
- 【HDU】3452 Bonsai 最小割模板题
- hdu 3046(最小割)
- hdu 3251(最小割)
- hdu 3452(最小割)
- hdu 4289(最小割)
- Dinic模板(最大流最小割)
- dinic最大流模板(最小割)
- 全局最小割模板
- 最小割模板
- 全局最小割模板
- poj 2914&&hdu 3002 全局最小割Stoer-Wagner算法模板
- hdu-3416-Marriage Match IV-(求最小割)-网络流模板
- hdu 5294 Tricks Device (最小割+最短路径+Dinic模板)
- hdu 1565 方格取数(神奇的最小割,模板题)
- hdu 2435(最小割 --dinic模板-- 最大流)
- Qt 窗体布局
- core 文件生成设置详解
- 【Android开发学习30】动态创建多个按钮,并给每个按键添加监听事件
- 因为互联网,所以有你的存在 !
- Toast
- 最小割集 hdu 3002 ( 模板)
- grep比较两个文件的异同
- size_type 的陷阱
- django的安装及web部署
- struts2 标签截取字符串 struts2-在jsp页面中控制只显示前n个字符
- ImageView和ImageButton
- 程序题:将字串“变电站,nokv,变压器,高压输出”分割,添加到list中
- ubuntu常用命令记录
- 学习笔记IV——2012 Microsoft Intern Hiring Written Test (2012微软实习生招聘笔试题)