http://poj.org/problem?id=2914

题意:给出n个点m条边,可能有重边,问全局的最小割是多少。

思路:一开始以为用最大流算法跑一下,然后就超时了。后来学习了一下这个算法,是个模板题。具体学习可以参考:

http://blog.sina.com.cn/s/blog_700906660100v7vb.html

http://www.cnblogs.com/ylfdrib/archive/2010/08/17/1801784.html

 #include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
#define INF 0x3f3f3f3f
#define N 505
int mp[N][N], vis[N], wage[N], combine[N], S, T, ans, mincut, m, n; void search() {
memset(vis, , sizeof(vis));
memset(wage, , sizeof(wage));
S = T = -;
int ma, index;
for(int i = ; i < n; i++) {
ma = -INF;
for(int j = ; j < n; j++) {
if(!vis[j] && !combine[j] && wage[j] > ma) {
ma = wage[j]; index = j;
}
}
if(T == index) return ;
vis[index] = ;
S = T; T = index;
mincut = ma;
for(int j = ; j < n; j++) {
if(!vis[j] && !combine[j]) wage[j] += mp[T][j];
}
}
} int Stoer_Wagner() {
ans = INF;
memset(combine, , sizeof(combine));
for(int i = ; i < n - ; i++) {
search();
combine[T] = ;
if(ans > mincut) ans = mincut;
for(int j = ; j < n; j++) {
mp[S][j] += mp[T][j];
mp[j][S] += mp[j][T];
}
}
return ans;
} int main() {
while(~scanf("%d%d", &n, &m)) {
memset(mp, , sizeof(mp));
for(int i = ; i <= m; i++) {
int u, v, w;
scanf("%d%d%d", &u, &v, &w);
mp[u][v] += w;
mp[v][u] += w;
}
printf("%d\n", Stoer_Wagner());
}
return ;
}

最新文章

  1. 一致性hash算法详解
  2. Android开发学习之路-图片颜色获取器开发(1)
  3. 单击HighCharts柱形体弹框显示详细信息
  4. 如何使用XAMPP本地搭建一个属于你自己的网站
  5. @Html.Raw()
  6. java排列
  7. HDU 4028 The time of a day STL 模拟题
  8. 连连看(dfs)
  9. C++笔记十二:C++对C的扩展——struct关键字类型增强
  10. 新版本的Python问题
  11. Vue2全家桶之一:vue-cli(vue脚手架)超详细教程
  12. Spark编译
  13. 单域名下多子域名同时认证HTTPS
  14. Java_反射_范型
  15. 安装Docker的三种方式
  16. 贪心Crossing river
  17. UVa 10305 - Ordering Tasks (拓扑排序裸题)
  18. 【转】Pycharm创建py文件时自定义头部模板
  19. 【Python】【数据类型】
  20. DQL、DML、DDL、DCL全名是啥?

热门文章

  1. Android Ant 和 Gradle 包装工艺和效率控制
  2. 大数据_zookeeper环境搭建中的几个坑
  3. Visifire charts AxisLabels FontSize
  4. PySide——Python图形化界面入门教程(五)
  5. 零元学Expression Blend 4 - Chapter 25 以Text相关功能就能简单做出具有设计感的登入画面
  6. C语言中.h和.c文件解析(转载)
  7. 一篇文章搞定JS类型转换
  8. Bokeh 0.9.0dev 发布,交互式可视化库
  9. Redis EXISTS命令耗时过长case排查
  10. Windows服务器下的IIS和Apache性能比较