POJ 1459 - Power Network 【Ek-最大流】
<题目链接>
题目大意:
给出 n 个点,其中包括 np个发电站,nc 个消费者, 剩下的全部都是中转点,再给出 这些点中的m 条边,代表这两点间的最大传输电量,并且给出发电站的最大发送电量,以及消费者的最大承受电量,求所有消费者所能得到的最大电量。
解题分析:
本题发电站可以看成源点,消费者看成汇点,由于可能有多个源点和汇点,因此我们可以建立一个超级源点和超级汇点,超级源点与所有发电站直接相连,容量为每个发电站的最大容量,超级汇点与所有消费者相连,容量为每个消费者的最大容量。
#include <cstdio>
#include <cstring>
#include <queue>
#include <algorithm>
using namespace std;
int n,m,np,nc,s,e;
][];
],pre[];
bool bfs(){
memset(vis,,sizeof(vis));
memset(pre,,sizeof(pre));
vis[s]=;
queue<int>q;
q.push(s);
while(!q.empty()){
int now=q.front();
q.pop();
if(now==e)return true;
;i<=n+;i++){
if(!vis[i]&&mpa[now][i]){
q.push(i);
vis[i]=;
pre[i]=now;
}
}
}
return false;
}
int Max_flow(){
;
while(true){
if(!bfs())return ans;
int mn=0x3f3f3f3f;
for(int i=e;i!=s;i=pre[i]){
mn=min(mn,mpa[pre[i]][i]);
}
for(int i=e;i!=s;i=pre[i]){
mpa[pre[i]][i]-=mn;
mpa[i][pre[i]]+=mn;
}
ans+=mn;
}
}
/*--以上是Ek算法模板--*/
int main(){
while(scanf("%d%d%d%d",&n,&np,&nc,&m)!=EOF){
memset(mpa,,sizeof(mpa));
;i<=m;i++){
int a,b,c;
/*
scanf("%s",ss);
sscanf(ss,"(%d,%d)%d",&a,&b,&c);
map[a][b]=c; //也可以用这种方法输入
*/
while(getchar()!='('); //注意这里的输入格式,也可以用cin简化输入
scanf("%d,%d)%d",&a,&b,&c);
mpa[a][b]+=c;
}
while(np--){
int a,b;
while(getchar()!='(');
scanf("%d)%d",&a,&b);
mpa[n][a]=b;
}
while(nc--){
int a,b;
while(getchar()!='(');
scanf("%d)%d",&a,&b);
mpa[a][n+]=b;
}
s=n,e=n+;
printf("%d\n",Max_flow());
}
;
}
2018-09-29
POJ 1459 - Power Network 【Ek-最大流】的更多相关文章
- POJ 1459 Power Network(网络流 最大流 多起点,多汇点)
Power Network Time Limit: 2000MS Memory Limit: 32768K Total Submissions: 22987 Accepted: 12039 D ...
- POJ - 1459 Power Network(最大流)(模板)
1.看了好久,囧. n个节点,np个源点,nc个汇点,m条边(对应代码中即节点u 到节点v 的最大流量为z) 求所有汇点的最大流. 2.多个源点,多个汇点的最大流. 建立一个超级源点.一个超级汇点,然 ...
- POJ 1459 Power Network(网络最大流,dinic算法模板题)
题意:给出n,np,nc,m,n为节点数,np为发电站数,nc为用电厂数,m为边的个数. 接下来给出m个数据(u,v)z,表示w(u,v)允许传输的最大电力为z:np个数据(u)z,表示发电 ...
- POJ 1459 Power Network / HIT 1228 Power Network / UVAlive 2760 Power Network / ZOJ 1734 Power Network / FZU 1161 (网络流,最大流)
POJ 1459 Power Network / HIT 1228 Power Network / UVAlive 2760 Power Network / ZOJ 1734 Power Networ ...
- poj 1459 Power Network
题目连接 http://poj.org/problem?id=1459 Power Network Description A power network consists of nodes (pow ...
- 2018.07.06 POJ 1459 Power Network(多源多汇最大流)
Power Network Time Limit: 2000MS Memory Limit: 32768K Description A power network consists of nodes ...
- 网络流--最大流--POJ 1459 Power Network
#include<cstdio> #include<cstring> #include<algorithm> #include<queue> #incl ...
- poj 1459 Power Network : 最大网络流 dinic算法实现
点击打开链接 Power Network Time Limit: 2000MS Memory Limit: 32768K Total Submissions: 20903 Accepted: ...
- poj 1459 Power Network【建立超级源点,超级汇点】
Power Network Time Limit: 2000MS Memory Limit: 32768K Total Submissions: 25514 Accepted: 13287 D ...
- POJ 1459 Power Network 最大流(Edmonds_Karp算法)
题目链接: http://poj.org/problem?id=1459 因为发电站有多个,所以需要一个超级源点,消费者有多个,需要一个超级汇点,这样超级源点到发电站的权值就是发电站的容量,也就是题目 ...
随机推荐
- 高性能JavaScript读后感
这本书让lz对js性能优化有了更深刻的理解,现在因为我们通常用第三方构建工具webpack.gulp等诸如此类,之前总是听说什么dom操作影响性能呢,对这个概念总是有点模糊,但看完这本书之后后,相对而 ...
- JSP Filters(过滤器)
Filter是拦截Request请求的对象:在用户的请求访 问资源前处理ServletRequest以及ServletResponse,它可 用于日志记录.加解密.Session检查.图像文件保护 等 ...
- laravel 表单方法伪造
有时候,我们可能需要手动定义发送表单数据所使用的 HTTP 请求方式,而 HTML 表单仅支持 GET 和 POST 两种方式,如果要使用其他的方式,则需要自己来定义实现. HTTP 请求方式概述 最 ...
- python网络爬虫笔记(五)
一.python的类对象的继承 1.所有的父类都是object类,由于类可以起到模块的作用,因此,可以在创建实例的时候,巴西一些认为必须要绑定的属性填写上去,通过定义一个特殊的方法 __init__, ...
- 拓扑排序基础 hdu1258,hdu2647
由这两题可知拓扑排序是通过“小于”关系加边建图的 hdu2647 /* 拓扑排序的原则是把“小于”看成有向边 此题反向建图即可 并且开num数组来记录每个点的应该得到的权值 */ #include&l ...
- 使用Calendar获取上一月,下一月,上一年,下一年的当天日期
Calendar的add(int field,int amount)方法 field 表示月或年,天等字段 amount 代表增量或减量 例如: 上月的当天日期 Calendar cal = Cal ...
- Tensorflow:DCGAN生成手写数字
参考地址:https://blog.csdn.net/miracle_ma/article/details/78305991 使用DCGAN(deep convolutional GAN):深度卷积G ...
- Caffe和py-faster-rcnn日常使用备忘录
罗列日常使用中遇到的问题和解决办法.包括: { caffe使用中的疑惑和解释: 无法正常执行 train/inference 的情况: Caffe基础工具的微小调整,比如绘loss曲线图: 调试pyt ...
- webpack学习笔记--配置resolve
Resolve Webpack 在启动后会从配置的入口模块出发找出所有依赖的模块,Resolve 配置 Webpack 如何寻找模块所对应的文件. Webpack 内置 JavaScript 模块化语 ...
- pp 总结一
1.JQ $.get() <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...