HDU 1532 Drainage Ditches(最大流 EK算法)
题目网址:http://acm.hdu.edu.cn/showproblem.php?pid=1532
思路:
网络流最大流的入门题,直接套模板即可~ 注意坑点是:有重边!!读数据的时候要用“+=”替换“=”。
对网络流不熟悉的,给一篇讲解:http://www.cnblogs.com/ZJUT-jiangnan/p/3632525.html。 ✧(≖ ◡ ≖✿)我是看这篇博客才入门的。
代码:
#include <cstdio>
#include <cstring>
#include <queue>
#include <algorithm>
using namespace std;
const int inf=;
int n,m;
int mp[][];
int vis[];
int pre[];
void update(int s,int t,int Min){
int k=t;
while (pre[k]!=-) {
mp[k][pre[k]]+=Min;
mp[pre[k]][k]-=Min;
k=pre[k];
}
}
int bfs(int s,int t){
int Min=inf;
memset(vis, , sizeof(vis));
memset(pre, -, sizeof(pre));
queue<int>q;
q.push(s);
vis[s]=;
while (!q.empty()) {
int x=q.front();q.pop();
for (int i=; i<=n; i++) {
if (!vis[i] && mp[x][i]>) {
pre[i]=x;
Min=min(mp[x][i], Min);
q.push(i);
vis[i]=;
}
}
if(pre[t]!=-) return Min;
}
return ;
}
int edmonds_karp(int s,int t){
int Min=-;
int Max=;
while(Min!=){
Min=bfs(s, t);
update(s,t,Min);
Max+=Min;
}
return Max;
}
int main(){
while (scanf("%d%d",&n,&m)!=EOF) {
memset(mp, , sizeof(mp));
for (int i=; i<n; i++) {
int x,y,z;
scanf("%d%d%d",&x,&y,&z);
mp[x][y]+=z;//注意!!
}
printf("%d\n",edmonds_karp(, m));
}
return ;
}
HDU 1532 Drainage Ditches(最大流 EK算法)的更多相关文章
- POJ 1273 || HDU 1532 Drainage Ditches (最大流模型)
Drainage DitchesHal Burch Time Limit 1000 ms Memory Limit 65536 kb description Every time it rains o ...
- hdu 1532 Drainage Ditches (最大流)
最大流的第一道题,刚开始学这玩意儿,感觉好难啊!哎····· 希望慢慢地能够理解一点吧! #include<stdio.h> #include<string.h> #inclu ...
- hdu 1532 Drainage Ditches(最大流)
Drainage Dit ...
- HDU 1532 Drainage Ditches 最大流 (Edmonds_Karp)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1532 感觉题意不清楚,不知道是不是个人英语水平问题.本来还以为需要维护入度和出度来找源点和汇点呢,看 ...
- poj 1273 && hdu 1532 Drainage Ditches (网络最大流)
Drainage Ditches Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 53640 Accepted: 2044 ...
- hdu 1532 Drainage Ditches(最大流模板题)
Drainage Ditches Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- HDU 1532 Drainage Ditches (网络流)
A - Drainage Ditches Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64 ...
- HDU 1532 Drainage Ditches(网络流模板题)
题目大意:就是由于下大雨的时候约翰的农场就会被雨水给淹没,无奈下约翰不得不修建水沟,而且是网络水沟,并且聪明的约翰还控制了水的流速, 本题就是让你求出最大流速,无疑要运用到求最大流了.题中m为水沟数, ...
- HDU 1532 Drainage Ditches 分类: Brush Mode 2014-07-31 10:38 82人阅读 评论(0) 收藏
Drainage Ditches Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
随机推荐
- vue -- vue-cli webpack项目打包后自动压缩成zip文件
用vue2.0开发项目,使用npm run build 命令 ,但是只会生成dist文件夹,以下是生成zip压缩包方法 1,插件安装 webpack插件安装 filemanager-webpack-p ...
- spring集成mybatis-plus
一.mybatis-plus 使用mybatis-plus可以轻松实现通用crue.通用service,不用再在xml.dao.service里写增删改查的代码(需要写特殊方法的时候可以按原先的来), ...
- 迥异和诡异的SendMessage和PostMessage
1 故障现象 故障现象1:能够收到SendMessage()发出的消息,但收不到PostMessage()发出的消息. 故障现象2:能够收到PostMessage()发出的消息,但收不到S ...
- 腾讯、阿里、百度、360、114 公共DNS分享
DNS,在互联网有着重要的地位,域名转换成IP,都是DNS在工作. 腾讯 DNS+ IP:119.29.29.29 备用:182.254.116.116 阿里DNS ip:223.5.5.5 223. ...
- C# 反射基础用法
1.引用命名空间 using System.Reflection; 2.object[] parameters = { 参数 }; 调用方法的参数数组 3.Type t = Type.GetType( ...
- 第九周java动手动脑
1.使用Files. walkFileTree()找出指定文件夹下所有扩展名为.txt和.java的文件. import java.io.IOException; import java.nio.fi ...
- abp(net core)+easyui+efcore实现仓储管理系统——EasyUI之货物管理二 (二十)
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...
- JVM调优—Jstack
Java命令学习系列(二)——Jstack jstack是java虚拟机自带的一种堆栈跟踪工具. 功能 jstack用于生成java虚拟机当前时刻的线程快照.线程快照是当前java虚拟机内每一条线 ...
- Linux 部署vsftp服务及详解
一.FTP服务概述: FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务. FTP(File Transf ...
- Openshift yum安装
Openshift yum安装: Yum 安装docker [root@DockerServer openshift]# yum repolist [root@DockerServer openshi ...