因为坑了无数次队友 要开始学习网络流了,先从基础的开始,嗯~

这道题是最大流的模板题,用来测试模板好啦~

Edmonds_Karp模板 with 前向星

时间复杂度o(V*E^2)

 #include<cstdio>
#include<cstring>
#include<cmath>
#include<iostream>
#include<queue>
#define eps 0.000001
#define MAXN 20
#define MAXM 2005
#define INF (1<<30)
using namespace std;
int i,j,k,n,m,x,y,T,head[MAXN],num,w,pre[MAXN],lin[MAXN];
struct edgenode
{
int to,next,w;
} map[MAXM]; void add_edge(int id,int x,int y,int w)
{
map[id].to=y;
map[id].w=w;
map[id].next=head[x];
head[x]=id;
} bool bfs(int s,int t)
{
int u,v;
queue <int> q;
memset(pre,-,sizeof(pre));
pre[s]=s;
q.push(s);
while(!q.empty())
{
u=q.front();
q.pop();
for(int i=head[u];i!=-;i=map[i].next)
{
v=map[i].to;
if(pre[v]==-&&map[i].w>)
{
pre[v]=u;
lin[v]=i;
if (v==t) return true;
q.push(v);
}
}
}
return false;
} int Edmonds_Karp(int s,int t)
{
int flow=,d,i;
while(bfs(s,t))
{
d=INF;
for(i=t;i!=s;i=pre[i])
d=min(d,map[lin[i]].w);
for(i=t;i!=s;i=pre[i])
{
map[lin[i]].w-=d;
map[lin[i]^].w+=d;
}
flow+=d;
}
return flow;
} void init()
{
memset(head,-,sizeof(head));
scanf("%d%d",&n,&m);
num=;
for (i=;i<m;i++)
{
scanf("%d%d%d",&x,&y,&w);
add_edge(i*,x,y,w);
add_edge(i*+,y,x,);
}
} int main()
{
scanf("%d",&T);
for (int cas=;cas<=T;cas++)
{
init();
printf("Case %d: %d\n",cas,Edmonds_Karp(,n));
}
}

最大流的优化还有dinic和isap

dinic传送:dinic

【网络流#1】hdu 3549 - 最大流模板题的更多相关文章

  1. HDU 1532 最大流模板题

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1532 最近在学网络流,学的还不好,先不写理解了,先放模板... 我觉得写得不错的博客:http://blo ...

  2. 【网络流#2】hdu 1533 - 最小费用最大流模板题

    最小费用最大流,即MCMF(Minimum Cost Maximum Flow)问题 嗯~第一次写费用流题... 这道就是费用流的模板题,找不到更裸的题了 建图:每个m(Man)作为源点,每个H(Ho ...

  3. hdu 1532 Drainage Ditches(最大流模板题)

    Drainage Ditches Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  4. HDU-3549 最大流模板题

    1.HDU-3549   Flow Problem 2.链接:http://acm.hdu.edu.cn/showproblem.php?pid=3549 3.总结:模板题,参考了 http://ww ...

  5. POJ 1273 - Drainage Ditches - [最大流模板题] - [EK算法模板][Dinic算法模板 - 邻接表型]

    题目链接:http://poj.org/problem?id=1273 Time Limit: 1000MS Memory Limit: 10000K Description Every time i ...

  6. HDU-3549Flow Problem 最大流模板题

    传送门 这里是Ford-Fulkerson写的最大流模板 #include <iostream> #include <cstdio> #include <algorith ...

  7. HDU 2222 AC自动机模板题

    题目: http://acm.hdu.edu.cn/showproblem.php?pid=2222 AC自动机模板题 我现在对AC自动机的理解还一般,就贴一下我参考学习的两篇博客的链接: http: ...

  8. HDU 1251 Trie树模板题

    1.HDU 1251 统计难题  Trie树模板题,或者map 2.总结:用C++过了,G++就爆内存.. 题意:查找给定前缀的单词数量. #include<iostream> #incl ...

  9. HDU 3065 (AC自动机模板题)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3065 题目大意:多个模式串,范围是大写字母.匹配串的字符范围是(0~127).问匹配串中含有哪几种模 ...

随机推荐

  1. DOS命令行中用MAVEN构建 Java 和 Java Web 项目

    一.Maven的安装 : 1.将 maven3.0解压到任一目录下,如D:\Program Files 2.配置环境变量:变量名: MAVEN_HOME   变量值:D:\Program Files\ ...

  2. 【转载】如何学习javascript

    如何学习Javascript 作者: chaomao  首先要说明的是,咱现在不是高手,最多还是一个半桶水,算是入了JS的门. 谈不上经验,都是一些教训. 这个时候有人要说,“靠,你丫半桶水,凭啥教我 ...

  3. java-二分查找法

    package search; public class BinarySearch { public static void main(String[] args) { , , , , , , , , ...

  4. js 点名

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  5. java 双重检查模式

    java 双重检查模式 在并发环境下 兼顾安全和效率 成例(Idiom)是一种代码层次上的模式,是在比设计模式的层次更具体的层次上的代码技巧.成例往往与编程语言密切相关.双重检查成例(Double C ...

  6. Solr4.8.0源码分析(12)之Lucene的索引文件(5)

    Solr4.8.0源码分析(12)之Lucene的索引文件(5) 1. 存储域数据文件(.fdt和.fdx) Solr4.8.0里面使用的fdt和fdx的格式是lucene4.1的.为了提升压缩比,S ...

  7. MYSQL主从同步测试

    参考: http://www.cnblogs.com/zgx/archive/2011/09/13/2174823.html 注意选建同步用户,其它的都按步就搬. 还有,不要让IPTABLES坏事,开 ...

  8. 【HDOJ】1495 非常可乐

    bfs. #include <iostream> #include <queue> #include <cstdio> #include <cstring&g ...

  9. COJN 0485 800503寻找平面上的极大点

    800503寻找平面上的极大点 难度级别:C: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 在一个平面上,如果有两个点(x,y),(a,b) ...

  10. XBox360自制系统的更新(Update)

    升级和更新 升级(Upgrade):从Windows XP到Windows 10,这叫升级,不叫更新.XBox360升级失败的话,后果可能会比较严重,直接就无法开机了. 更新(Update):在Win ...