裸最大流,做模板用

m条边,n个点,求最大流

#include <iostream>
#include <cstdio>
#include <cstring>
#include <queue>
#include <algorithm> using namespace std; const int N = ;
const int INF = 0x7fffffff; int flow[N];
int cap[N][N];
int pre[N]; queue<int>q; int m, n; int BFS(int src, int des)
{
while (!q.empty()) q.pop();
for (int i = ; i <= n; ++i) pre[i] = -;
flow[src] = INF;
pre[src] = ;
q.push(src);
while (!q.empty()) {
int index = q.front();
q.pop();
if (index == des) break;
for (int i = ; i <= n; ++i) {
if (pre[i] == - && cap[index][i] > ) {
pre[i] = index;
flow[i] = min(cap[index][i], flow[index]);
q.push(i);
}
}
}
if (pre[des] == -) return -;
return flow[des];
} int maxFlow(int src, int des)
{
int ans = ;
int in = ;
while ((in = BFS(src, des)) != -) {
int k = des;
while (k != src) {
int last = pre[k];
cap[last][k] -= in;
cap[k][last] += in;
k = last;
}
ans += in;
}
return ans;
} int main()
{
int t;
int i, k;
scanf("%d", &t);
for (k = ; k <= t; ++k) {
memset(cap, , sizeof cap);
memset(flow, , sizeof flow);
scanf("%d%d", &n, &m);
for (i = ; i < m; ++i) {
int a, b, c;
scanf("%d%d%d", &a, &b, &c);
cap[a][b] += c;
}
printf("Case %d: %d\n", k, maxFlow(, n));
}
return ;
}

hdu 3549 Flow Problem (最大流)的更多相关文章

  1. hdu - 3549 Flow Problem (最大流模板题)

    http://acm.hdu.edu.cn/showproblem.php?pid=3549 Ford-Fulkerson算法. #include <iostream> #include ...

  2. hdu 3549 Flow Problem 最大流 Dinic

    题目链接 题意 裸的最大流. 学习参考 http://www.cnblogs.com/SYCstudio/p/7260613.html Code #include <bits/stdc++.h& ...

  3. HDU 3549 Flow Problem(最大流)

    HDU 3549 Flow Problem(最大流) Time Limit: 5000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/ ...

  4. 网络流 HDU 3549 Flow Problem

    网络流 HDU 3549 Flow Problem 题目:pid=3549">http://acm.hdu.edu.cn/showproblem.php?pid=3549 用增广路算法 ...

  5. hdu 3549 Flow Problem【最大流增广路入门模板题】

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=3549 Flow Problem Time Limit: 5000/5000 MS (Java/Others ...

  6. hdu 3549 Flow Problem

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=3549 Flow Problem Description Network flow is a well- ...

  7. HDU 3549 Flow Problem (最大流ISAP)

    Flow Problem Time Limit: 5000/5000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Tota ...

  8. hdu 3549 Flow Problem Edmonds_Karp算法求解最大流

    Flow Problem 题意:N个顶点M条边,(2 <= N <= 15, 0 <= M <= 1000)问从1到N的最大流量为多少? 分析:直接使用Edmonds_Karp ...

  9. HDU 3549 Flow Problem 网络流(最大流) FF EK

    Flow Problem Time Limit: 5000/5000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Tot ...

随机推荐

  1. 使用text-overflow:ellipsis对溢出文本显示省略号有两个好处

    使用text-overflow:ellipsis对溢出文本显示省略号有两个好处,一是不用通过程序限定字数:二是有利于SEO.需要使用对对溢出文本显示省略号的通常是文章标题列表,这样处理对搜索引擎更友好 ...

  2. 关于table的一些兼容性问题

    不多说,先来看两个常用的简单效果 ---- 兼容拼比一(普通边线效果) 图一:谷歌.火狐.ie8+下 图二:ie6/7下 从图中看出,ie6/7其实是不认识tr边框线的,,所以平时做项目时候,我们一般 ...

  3. 自己写loader

    http://www.cnblogs.com/lynxcat/archive/2013/03/08/2950373.html http://addyosmani.com/blog/building-a ...

  4. linux相关办公软件汇总

    ubuntu pdf阅读器 FoxitReader_1.1.0_i386.deb ubuntu 下的PDF阅读器(超级好使) Ubuntu下的chm和PDF阅读器 ubuntu便签软件xpad sud ...

  5. 调色板QPalette类用法详解(附实例、源码)

    http://blog.csdn.net/rl529014/article/details/51589096

  6. LinuxShell_variable+if+while

    [root@ossec-server mybash]# vim ./hello.sh #! /bin/sh # This is a example bash script echo "Hel ...

  7. Android Service的生命周期

    service的生命周期,从它被创建开始,到它被销毁为止,可以有两条不同的路径: A started service 被开启的service通过其他组件调用 startService()被创建. 这种 ...

  8. android:process为耗资源操作指定一个新进程

    当有一些耗费内存比较多的操作时,可以通过android:process指定一个新的进程.保证程序运行. 例如: 一个后台长期运行的service: <service android:name=& ...

  9. C# ASP.NET FILEUPLOAD详解

    显示一个文本框控件和一个浏览按钮,使用户可以选择要上载到服务器的文件. 命名空间: System.Web.UI.WebControls 程序集: System.Web(在 system.web.dll ...

  10. 【PythonChallenge】Level 3

    题目为正则表达式,需要注意EXACTLY的含义,即AAAAxBBB中x不满足条件,但aAAAxBBBa却满足条件.使用perl解决此题,利用s///替换字母,循环读取整个源码文件,结果为linkedl ...