题干:

现在有m个池塘(从1到m开始编号,1为源点,m为汇点),及n条水渠,给出这n条水渠所连接的点和所能流过的最大流量,求从源点到汇点能流过的最大流量。

Input

输入包括几种情况。 对于每种情况,第一行包含两个空格分隔的整数,N(0 <= N <= 200)和M(2 <= M <= 200)。 N是Farmer John挖的沟渠数量。 M是那些沟渠的交叉点。 以下N行中的每一行包含三个整数,Si,Ei和Ci。 Si和Ei(1 <= Si,Ei <= M)表示该沟渠流动的交叉点。 水将从Si流到Ei。 Ci(0 <= Ci <= 10,000,000)是水流过沟渠的最大速率。

Output

最大流量

Sample Input

5 4
1 2 40
1 4 20
2 4 20
2 3 30
3 4 10

Sample Output

50

解题报告:

这是一道KK,EK,dinic都可以0ms跑过的板子题。。

AC代码:

#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
int n,m;
int tot;
struct Edge {int to,ne,v;
} e[100005 * 2];
int head[10005];
int st,ed;
int dis[10050],q[10005];//一共多少个点跑bfs,dis数组和q数组就开多大。
void insert(int u,int v,int w) {e[++tot].to=v;e[tot].v=w;e[tot].ne=head[u];head[u]=tot;
}
bool bfs(int st,int ed) {memset(dis,-1,sizeof(dis));int front=0,tail=0;q[tail++]=st;dis[st]=0;while(front<tail) {int cur = q[front];front++;for(int i = head[cur]; i!=-1; i = e[i].ne) {if(e[i].v&&dis[e[i].to]<0) {q[tail++]=e[i].to;dis[e[i].to]=dis[cur]+1;}}}if(dis[ed]==-1) return 0;return 1;
}
int dfs(int cur,int f) {if(cur==ed) return f;int w,flow=0;for(int i = head[cur]; i!=-1; i = e[i].ne) {        if(e[i].v&&dis[e[i].to]==dis[cur]+1) {w=f-flow;w=dfs(e[i].to,min(w,e[i].v));e[i].v-=w;e[i+1].v+=w;flow+=w;if(flow==f) return f;}       }if(!flow)dis[cur]=-1;return flow;
}
int dinic() {int ans = 0;while(bfs(st,ed)) ans+=dfs(st,0x7fffffff);return ans;
}
int main() {while(~scanf("%d%d",&m,&n)) {tot=2;st=1,ed=n;for(int i = 1; i<=n; i++) head[i] = -1;for(int a,b,c,i = 1; i<=m; i++) {scanf("%d%d%d",&a,&b,&c);insert(a,b,c);insert(b,a,0);}       printf("%d\n",dinic());               }return 0;
}

【POJ - 1273】Drainage Ditches(网络流,最大流,模板)相关推荐

  1. 网络流--最大流--POJ 1273 Drainage Ditches

    链接 Description Every time it rains on Farmer John's fields, a pond forms over Bessie's favorite clov ...

  2. [POJ 1273]Drainage Ditches

    [问题描述] Every time it rains on Farmer John's fields, a pond forms over Bessie's favorite clover patch ...

  3. POJ - 1273 Drainage Ditches(最大流)

    题目链接:点击查看 题目大意:现在一共有n个节点,需要修建m条水渠将池塘的水引入小溪,点1代表池塘,点n代表小溪,每条水渠都有一定的排水能力,问最大的排水效率是多少 题目分析:网络流的模板题,直接套板 ...

  4. POJ 1273 Drainage Ditches 最大流

    很裸的最大流问题,不过注意会有重边,o(╯□╰)o,被阴了WA了一发 还有就是要用long long #include <cstdio> #include <cstring> ...

  5. POJ 1273 Drainage Ditches

    网络流. 题意非常easy.给出单向边,容量. 找最大流.注意重边要加起来.g[u][v].c+=c; 第一次写网络流. 也是第一个网络流的题. 看了两天,理解了之后就唰唰唰的写出来了. 大概可能是E ...

  6. USACO Section 4.2 Drainage Ditches(最大流)

    最大流问题.ISAP算法.注意可能会有重边,不过我用的数据结构支持重边.距离d我直接初始化为0,也可以用BFS逆向找一次. -------------------------------------- ...

  7. usaco Drainage Ditches(网络流dinic模板)

    模板题 /* ID:jinbo wu TASK:ditch LANG:C++ */#include<bits/stdc++.h> using namespace std; #define ...

  8. POJ1273 Drainage Ditches(最大流基础题)

    在讨论问题之前先说一句,如果你这题WA了很久,请先看以下一句话,或许可以省下你翻遍全文的时间: 注意考虑重边.(是不是想大呼[Bi-]?传送门:http://poj.org/problem?id=12 ...

  9. POJ - 1459 Power Network(网络流-最大流)

    题目链接:点击查看 题目大意:题意属实恶心,借用别的大佬的题意: 题目描述 一个电网包含一些结点(电站.消费者.调度站),这些结点通过电线连接.每个结点 uu 可能被供给 s(u) 的电能, s(u) ...

  10. 网络流 费用流 模板 ISAP+SPFA+ZKW

    2020年4月20日重新发布.7年前的文章,几年前CSDN改版的时候变成了私密--重新发一下吧. 关于费用流ZKW算法的讲解:从入门到精通: 最小费用流的"zkw算法" 关于Din ...

最新文章

  1. oracle相关操作
  2. [C# 网络编程系列]专题七:UDP编程补充——UDP广播程序的实现
  3. 个人副业在家可做大学生首选小程序创业项目
  4. java双等号比较字符串,Java与两个字符串==比较是错误的?
  5. python项目部署失败的原因_python项目环境部署(一)
  6. opencv 图片叠加_OpenCVSharp学习之——ROI与图像叠加
  7. Docker启动失败 提示An error occurred和乱码
  8. Haproxy安装及配置(转)
  9. math.floor()和math.ceil()的使用
  10. 看mysql版本信息_查看mysql 的版本信息
  11. win10如何用管理员权限去运行服务器,让Visualstudio在win10下使用管理员方式运行...
  12. 2016保持谦卑,继续前行
  13. 项目管理-项目整体计划Excel表格绘制
  14. 七月算法-P2 概率论与数理统计(1)
  15. 南昌航空大学计算机控制实验,南昌航空大学关于实验教学的管理办法
  16. 201771010112罗松《面向对象程序设计(java)》第一周学习总结
  17. 《南方周末》今日发文揭开了这场抢票插件阻击战的内幕
  18. 国企安逸?我笑了……
  19. 一名合格的大数据测试工程师,需要掌握哪些基本知识
  20. java实现美图秀秀的照片拼接功能(照片数量任意)

热门文章

  1. 服务器重装后怎么装系统,服务器如何安装系统,小编教你如何安装
  2. PHP与MySQL案例剖析_PHP与MySQL案例剖析
  3. 脚本启动慢_Linux 常用运维脚本,建议收藏
  4. linux消息框架,远程处理器消息框架 - 基于Linux 简化 AMP 配置使其更方便更动态地分配资源...
  5. 三级菜单 python_python三级菜单
  6. 反序列化对象列表发生异常_通过反序列化漏洞,黑客能做什么呢?
  7. 通用即插即用监视器驱动下载_电脑设备驱动程序有问题,教你3招,快速修复...
  8. 小米路由器怎么连接无盘服务器,播放器+服务器的方法瞬间玩转小米路由方法图文介绍...
  9. apache根据ip分发_腾讯广告进入“IP新融点”时代
  10. 大表与大表join数据倾斜_技术分享|大数据技术初探之Spark数据倾斜调优