全局最小割模板(定S,不定T,找最小割)
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std; const int MAXN=;
const int INF=0x7fffffff; int N,M,S;
int a[MAXN][MAXN],dis[MAXN];
bool visit[MAXN],d[MAXN]; int StoerWagner(int N)
{
int p=N,ans=INF,Max,t,s,k,i;
memset(d,,sizeof(d));
while (--p>)
{
memset(visit,,sizeof(visit));
memset(dis,,sizeof(dis));
i=;
while (d[i]) i++;
visit[i]=;
for (int j=;j<=N;j++)
if (!d[j] && !visit[j])
dis[j]=a[i][j];
t=s=i;
for (;i<=N;i++)
{
Max=;
for (int j=;j<=N;j++)
if (!d[j] && !visit[j] && Max<dis[j])
Max=dis[k=j];
if (!Max) break;
visit[k]=;
for (int j=;j<=N;j++)
if (!d[j] && !visit[j])
dis[j]+=a[k][j];
s=t;
t=k;
}
if (ans>dis[t]) ans=dis[t];
d[t]=;
for (int j=;j<=N;j++)
if (!d[j])
{
a[s][j]+=a[t][j];
a[j][s]+=a[j][t];
}
}
return ans;
} int main()
{
while ()
{
scanf("%d%d%d",&N,&M,&S);
if (!N && !M && !S) break;///N 点数,M 边数,S起点
memset(a,,sizeof(a));
for (int i=;i<=M;i++)
{
int x,y,d;
scanf("%d%d%d",&x,&y,&d);
a[x][y]+=d;
a[y][x]+=d;
}
printf("%d\n",StoerWagner(N));
}
return ;
}
全局最小割模板(定S,不定T,找最小割)的更多相关文章
- HDU 2121 Ice_cream’s world II 最小树形图 模板
开始学习最小树形图,模板题. Ice_cream’s world II Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32 ...
- POJ 3164 Command Network(最小树形图模板题+详解)
http://poj.org/problem?id=3164 题意: 求最小树形图. 思路: 套模板. 引用一下来自大神博客的讲解:http://www.cnblogs.com/acjiumeng/p ...
- poj 3164(最小树形图模板)
题目链接:http://poj.org/problem?id=3164 详细可以看这里:http://www.cnblogs.com/vongang/archive/2012/07/18/259685 ...
- poj2914 Minimum Cut 全局最小割模板题
Minimum Cut Time Limit: 10000MS Memory Limit: 65536K Total Submissions: 8324 Accepted: 3488 Case ...
- poj2914无向图的最小割模板
题意:给出无向图的点,边,权值.求最小割. 思路:根据题目规模,最大流算法会超时. 网上参考的模板代码. 代码: /*最小割集◎Stoer-Wagner算法:一个无向连通网络,去掉一个边集可以使其变成 ...
- ISAP 最大流 最小割 模板
虽然这道题用最小割没有做出来,但是这个板子还是很棒: #include<stdio.h> #include<math.h> #include<string.h> # ...
- 最大流/最小割模板(isap) POJ1273
isap模板核心代码: //d[]为距离标号数组,d[i]表示节点i到汇点的距离 //gap[]为GAP优化数组,gap[i]表示到汇点距离为i的节点个数 int dfs(int k,int flow ...
- poj 3469 最小割模板sap+gap+弧优化
/*以核心1为源点,以核心2为汇点建图,跑一遍最大流*/ #include<stdio.h> #include<string.h> #include<queue> ...
- POJ2125 Destroying The Graph (最小点权覆盖集)(网络流最小割)
Destroying The Graph Time Limit: 2000MS Memo ...
随机推荐
- 为Drupal7.22添加富编辑器 on Ubuntu 12.04
怀揣着为中小企业量身定做一整套开源软件解决方案的梦想开始了一个网站的搭建.http://osssme.org/ 基本上就是按照Drupal7宝典里描述的进行设置的. 1. 下载wysiwyg 2. ...
- 【转】H.264(H264)视频文件的制作
转自:http://blog.csdn.net/caoshangpa/article/details/51166109 一.准备工作 1.下载并安装优酷客户端 2.下载ffmpeg可执行文件,解压可用 ...
- java读取本地txt文件并插入数据库
package com.cniia.ny.web.control.configManage; import java.io.BufferedReader; import java.io.File; i ...
- 电子商务(电销)平台中订单模块(Order)数据库设计明细(转载)
电子商务(电销)平台中订单模块(Order)数据库设计明细 以下是自己在电子商务系统设计中的订单模块的数据库设计经验总结,而今发表出来一起分享,如有不当,欢迎跟帖讨论~ 订单表 (order)|-- ...
- python selenium --unittest 框架
转自:http://www.cnblogs.com/fnng/p/3300788.html 学习unittest 很好的一个切入点就是从selenium IDE 录制导出脚本.相信不少新手学习sele ...
- LAMP架构二
安装PHP7 1.查看php配置文件信息(phpinfo),php有两个配置文件开发环境和生产环境 [root@localhost php-5.6.30]# /usr/local/php/bin/ph ...
- php_memcahed telnet远程操作方法
一.存储命令 存储命令的格式: <command name> <key> <flags> <exptime> <bytes> <dat ...
- Decoration1:Spring-boot基础实现
前段时间发布的Traveller项目,花费了不少精力,但是效果并不如意,根源在于瀑布式的开发思想不适合这种独立的学习项目.在项目初始就规划一个全面的web系统,,因为预设了一个前景,在心理上会想尽快看 ...
- JS高程3:Ajax与Comet-XMLHttpRequest对象
XHR 的用法 XHR对象,即XMLHttpRequest对象,下面看看他常见的属性和方法. open()方法 它接受 3 个参数:要发送的请求的类型("get". "p ...
- 关于Tensorflow 的数据读取环节
Tensorflow读取数据的一般方式有下面3种: preloaded直接创建变量:在tensorflow定义图的过程中,创建常量或变量来存储数据 feed:在运行程序时,通过feed_dict传入数 ...