Drainage Ditches (HDU - 1532)(最大流)
题意:有m个点,n条管道,问从1到m最大能够同时通过的水量是多少?
题解:最大流模板题。
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <queue>
using namespace std;
typedef long long ll;
const int INF = 0x3ffffff;
const int maxn = 205;
int gra[maxn][maxn];
int flow[maxn];
int path[maxn];
int n,m;
int bfs(int s, int e)
{
queue<int>q;
int t;
memset(path,-1,sizeof(path));
memset(flow,0,sizeof(flow));
path[s] = 0;
flow[s] = INF;
q.push(s);
while(!q.empty()){
t = q.front();
q.pop();
if(t == e) break;
for(int i = 1; i <= m; i ++)
{
if(i != s && gra[t][i] && path[i] == -1)
{
flow[i] = flow[t] < gra[t][i] ? flow[t] : gra[t][i];
path[i] = t;
q.push(i);
}
}
}
if(path[e] == -1)
return -1;
else return flow[e];
}
int EK(int s, int e){
int maxflow = 0;
int pre, now, step;
while((step = bfs(s,e))!= -1){
maxflow += step;
now = e;
while(now != s){
pre = path[now];
gra[pre][now] -= step;
gra[now][pre] += step;
now = pre;
}
}
return maxflow;
}
int main()
{
int u,v,c;
while(~scanf("%d%d",&n,&m)){
memset(gra,0,sizeof(gra));
for(int i = 1; i <= n; i ++)
{
scanf("%d %d %d", &u,&v,&c);
gra[u][v] += c;
}
int ans = EK(1,m);
printf("%d\n",ans);
}
return 0;
}
Drainage Ditches (HDU - 1532)(最大流)的更多相关文章
- HDU 1532 最大流入门
1.HDU 1532 最大流入门,n个n条边,求第1点到第m点的最大流.只用EK做了一下. #include<bits/stdc++.h> using namespace std; #pr ...
- hdu 1532(最大流)
Drainage Ditches Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- HDU 1532 最大流模板题
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1532 最近在学网络流,学的还不好,先不写理解了,先放模板... 我觉得写得不错的博客:http://blo ...
- poj 1273 ---&&--- hdu 1532 最大流模板
最近在换代码布局,因为发现代码布局也可以引起一个人的兴趣这个方法是算法Edmonds-Karp 最短增广路算法,不知道的话可以百度一下,基于Ford-Fulkerson算法的基础上延伸的 其实我不是很 ...
- hdu 1532 最大流
#include <cstdio> #include <iostream> #include <algorithm> #include <queue> ...
- HDU 1532||POJ1273:Drainage Ditches(最大流)
pid=1532">Drainage Ditches Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/327 ...
- POJ 1273 || HDU 1532 Drainage Ditches (最大流模型)
Drainage DitchesHal Burch Time Limit 1000 ms Memory Limit 65536 kb description Every time it rains o ...
- poj 1273 && hdu 1532 Drainage Ditches (网络最大流)
Drainage Ditches Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 53640 Accepted: 2044 ...
- hdu 1532 Drainage Ditches(最大流)
Drainage Dit ...
随机推荐
- CentOS7 服务器连接超时自动断开问题解决
背景 现在的客户们都开始使用云服务器了,还要通过堡垒机才给访问权限,这种方式访问方式以前都是银行的"专利",不过也间接说明其他行业的信息化也越来越普及了.今天主要是因为分配给我的这 ...
- 扩展kmp入门+比赛模板
https://wenku.baidu.com/view/8e9ebefb0242a8956bece4b3.html 参考了这个ppt 理解起来还是有点费劲的(还是推荐一下这个课件 里面概念和思路给的 ...
- 1、java集合:java集合详解及类关系图
List和Set继承自Collection接口. Set无序不允许元素重复.HashSet和TreeSet是两个主要的实现类. List有序且允许元素重复,支持null对象.ArrayList.Lin ...
- Apache Flink 任意jar包上传漏洞
目前受影响版本:version 1.9.1(最新),官方未发布补丁. Apache Flink仪表板- >上传恶意的JAR- >提交新工作- >getshell 生成jar包,用nc ...
- css布局笔记
1.display block块级元素(div.p等) inline 行内元素(a.span等) 常见的例子:把li修改成inline ,制作成水平菜单 2.max-width 来适应不同浏览器窗 ...
- JS实现异步的几种方式
1.JS执行环境:单线程 单线程:就是指一次只能完成一件任务.若有多个任务时,就必须排队,等前面一个任务完成之后,再执行后面一个任务 缺点:任务耗时很长,后面的任务需要等待,拖延整个程序的执行.例 ...
- iOS常用宏定义大全
宏定义与常量的区别 宏:只是在预处理器里进行文本替换,不做任何类型检查,宏能定义代码,const不能,多个宏编译时间相对较长,影响开发效率,调试过慢,const只会编译一次,缩短编译时间. 所以在使用 ...
- 在网页中添加google搜索
网页中插入谷歌搜索,至于怎么上谷歌,后面有时间会更,推荐百度 <form method="GET" action="http://www.google.com.hk ...
- 什么是虚拟DOM
一.前言 虚拟DOM概念随着react的诞生而诞生,由facebook提出,其卓越的性能很快得到广大开发者的认可:继react之后vue2.0也在其核心引入了虚拟DOM的概念,本文将以vue2.0使用 ...
- JavaScript基础概念与语法
学习了一些最基础的JavaScript语法: <!DOCTYPE html> <html lang="en"> <head> <meta ...