poj 1273 Drainage Ditches_最大流模版
#include <iostream>
#include<cstdio>
#include<queue>
#include<cstring>
using namespace std;
#define INF 0xfffffff
#define N 210
int cap[N][N],flow[N][N];
int pre[N],dist[N];
int ek(int sta,int end){
int i,curr,sum=0;
memset(flow,0,sizeof(flow));
while(1){
memset(pre,0,sizeof(pre));
memset(dist,0,sizeof(dist));
queue<int> q;
q.push(sta);
dist[sta]=INF;
pre[sta]=sta;
while(!q.empty()){
curr=q.front();
q.pop();
for(i=1;i<=end;i++)
if(!dist[i]&&flow[curr][i]<cap[curr][i]){
dist[i]=min(dist[curr],cap[curr][i]-flow[curr][i]);
pre[i]=curr;
q.push(i);
}
}
if(dist[end]==0)
break;
for(i=end;i!=sta;i=pre[i]){
curr=pre[i];
flow[curr][i]+=dist[end];
flow[i][curr]-=dist[end];
}
sum+=dist[end];
}
return sum;
} int main(int argc, char** argv) {
int n,m,i,a,b,w;
while(scanf("%d%d",&n,&m)!=EOF){
memset(cap,0,sizeof(cap));
for(i=1;i<=n;i++){
scanf("%d%d%d",&a,&b,&w);
cap[a][b]+=w;
}
printf("%d\n",ek(1,m));
}
return 0;
} #include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
using namespace std;
#define N 210
#define INF 0xfffffff
int flow[N][N],dist[N],m,n;
int bfs(){
memset(dist,-1,sizeof(dist));
dist[1]=0;
queue<int> q;
q.push(1);
while(!q.empty()){
int k=q.front();
q.pop();
for(int i=1;i<=n;i++){
if(flow[k][i]>0&&dist[i]<0){
dist[i]=dist[k]+1;
q.push(i);
}
}
}
if(dist[n]>0) return 1;
else return 0;
}
int dfs(int x,int mx){
int i,a;
if(x==n) return mx;
for(i=1;i<=n;i++){
if(flow[x][i]>0&&dist[i]==dist[x]+1&&(a=dfs(i,min(mx,flow[x][i])))){
flow[x][i]-=a;
flow[i][x]+=a;
return a;
} }
return 0;
}
int main(){
int i,b,a,w,ans,res;
while(scanf("%d%d",&m,&n)!=EOF){
memset(flow,0,sizeof(flow));
for(i=0;i<m;i++){
scanf("%d%d%d",&a,&b,&w);
flow[a][b]+=w;
}
ans=0;
while(bfs())
while(res=dfs(1,INF))
ans+=res;
printf("%d\n",ans);
}
}
poj 1273 Drainage Ditches_最大流模版的更多相关文章
- poj 1273 Drainage Ditches 最大流入门题
题目链接:http://poj.org/problem?id=1273 Every time it rains on Farmer John's fields, a pond forms over B ...
- POJ 1273 - Drainage Ditches - [最大流模板题] - [EK算法模板][Dinic算法模板 - 邻接表型]
题目链接:http://poj.org/problem?id=1273 Time Limit: 1000MS Memory Limit: 10000K Description Every time i ...
- Poj 1273 Drainage Ditches(最大流 Edmonds-Karp )
题目链接:poj1273 Drainage Ditches 呜呜,今天自学网络流,看了EK算法,学的晕晕的,留个简单模板题来作纪念... #include<cstdio> #include ...
- POJ 1273 Drainage Ditches 最大流
这道题用dinic会超时 用E_K就没问题 注意输入数据有重边.POJ1273 dinic的复杂度为O(N*N*M)E_K的复杂度为O(N*M*M)对于这道题,复杂度是相同的. 然而dinic主要依靠 ...
- POJ 1273 Drainage Ditches | 最大流模板
#include<cstdio> #include<algorithm> #include<cstring> #include<queue> #defi ...
- POJ 1273 Drainage Ditches(最大流Dinic 模板)
#include<cstdio> #include<cstring> #include<algorithm> using namespace std; int n, ...
- poj 1273 Drainage Ditches(最大流)
http://poj.org/problem?id=1273 Drainage Ditches Time Limit: 1000MS Memory Limit: 10000K Total Subm ...
- POJ 1273 Drainage Ditches (网络最大流)
http://poj.org/problem? id=1273 Drainage Ditches Time Limit: 1000MS Memory Limit: 10000K Total Sub ...
- poj 1273 Drainage Ditches【最大流入门】
Drainage Ditches Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 63924 Accepted: 2467 ...
随机推荐
- error: ‘shared_ptr’ in namespace ‘std’ does not name a type
用G++编译项目的时候发生标题上的错误,原因是,这是c++ 11标准的.在给g++传递命令行的时候加上-std=c++0x就行了. 还需要在源码中#include<memory> 我的cm ...
- C语言的本质(35)——共享库
库用于将相似函数打包在一个单元中.然后这些单元就可为其他开发人员所共享,并因此有了模块化编程这种说法- 即,从模块中构建程序.Linux支持两种类型的库,每一种库都有各自的优缺点.静态库包含在编译时静 ...
- jquery 绑定动态元素
以一个小例子来简单说明下情况 ? 1 2 3 4 5 6 7 8 <script src="jquery-1.11.0.min.js"></script> ...
- Django 从零開始
1.下载安装django 方法1: pip install Django==1.6.5 測试是否成功安装 : ~$ python import django ~$ (1, 6, 5, 'final', ...
- 第一个MyBatis程序
最近研究了一些MyBatis技术,虽然工作中还未用到,但是觉得了解一下也是不错的.这里记录了第一个简单的Demo程序,防止自己忘记. 第一步需要配置Mybatis-config.xml文件.注意:这里 ...
- AC自动机跟随Kuangbing学习笔记
http://www.cnblogs.com/kuangbin/p/3164106.html kuangbin的博客 第一段代码基本是COPY kuangbin的.. 1.HDU 2222 Keywo ...
- 【模拟】【HDU1443】 Joseph
Joseph Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Sub ...
- Android一次退出所有Activity的方法(升级版)
一.思路和方法: 首先创建一个ActivityManager类来存放Activity的对象. 返回ActivityManager的对象,供BaseActivity来进行操作. 所有其他子Activit ...
- ExtJs4.0入门错误
当在eclipse中的web工程中增加了extjs4,出现An internal error occurred during: "Building workspace". Java ...
- 终极解法According to TLD or attribute directive in tag file, attribute select does not accept any expressions
3天硬是是把这个问题解决了 有时候突然上个厕所灵感就来了 第一次向用JSTL解析xml 然后我想遍历整个xml文档打印出来 居然不让我输入变量 那让我怎么办啊 在网上各种找答案 说什么<%@ t ...