poj1459 最大流Dinic
比较简单。
- #include<stdio.h>
- #include<string.h>
- #include<queue>
- #define maxn 110
- #define INF 99999999
- using namespace std;
- int vis[maxn],n,map[maxn][maxn];
- int min(int x,int y)
- {return x<y?x:y;}
- int dfs(int u,int low)
- {
- int i,a;
- if(u==n+)
- return low;
- for(i=;i<=n+;i++)
- {
- if(vis[i]==vis[u]+&&map[u][i]>)
- {
- a=dfs(i,min(low,map[u][i]));
- if(!a)continue;
- map[u][i]-=a;
- map[i][u]+=a;
- return a;
- }
- }
- return ;
- }
- bool BFS()
- {
- int i;
- queue<int>q;
- memset(vis,-,sizeof(vis));
- vis[]=;
- q.push();
- while(!q.empty())
- {
- int t=q.front();
- q.pop();
- for(i=;i<=n+;i++)
- {
- if(vis[i]<&&map[t][i]>)
- {
- vis[i]=vis[t]+;
- q.push(i);
- }
- }
- }
- if(vis[n+]>)return true;
- return false;
- }
- int main()
- {
- int i,nc,np,m;
- while(scanf("%d %d %d %d",&n,&np,&nc,&m)!=EOF)
- {
- memset(map,,sizeof(map));
- for(i=;i<m;i++)
- {
- int x,y,z;
- while(getchar()!='(');
- scanf("%d,%d)%d",&x,&y,&z);
- map[x+][y+]+=z;
- }
- for(i=;i<np;i++)
- {
- int x,y;
- while(getchar()!='(');
- scanf("%d)%d",&x,&y);
- map[][x+]=y;
- }
- for(i=;i<nc;i++)
- {
- int x,y;
- while(getchar()!='(');
- scanf("%d)%d",&x,&y);
- map[x+][n+]=y;
- }
- int ans=;
- while(BFS())
- {
- while()
- {
- int a=dfs(,INF);
- if(!a)break;
- ans+=a;
- }
- }
- printf("%d\n",ans);
- }
- }
poj1459 最大流Dinic的更多相关文章
- 网络流之最大流Dinic算法模版
/* 网络流之最大流Dinic算法模版 */ #include <cstring> #include <cstdio> #include <queue> using ...
- poj-1459-最大流dinic+链式前向星-isap+bfs+stack
title: poj-1459-最大流dinic+链式前向星-isap+bfs+stack date: 2018-11-22 20:57:54 tags: acm 刷题 categories: ACM ...
- 网络流之最大流Dinic --- poj 1459
题目链接 Description A power network consists of nodes (power stations, consumers and dispatchers) conne ...
- 网络最大流Dinic
1.什么是网络最大流 形象的来说,网络最大流其实就是这样一个生活化的问题:现在有一个由许多水管组成的水流系统,每一根管道都有自己的最大通过水流限制(流量),超过这个限制水管会爆(你麻麻就会来找你喝茶q ...
- HDU 3572 Task Schedule(拆点+最大流dinic)
Task Schedule Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ...
- 学习笔记 --- 最大流Dinic算法
为与机房各位神犇同步,学习下网络流,百度一下发现竟然那么多做法,最后在两种算法中抉择,分别是Dinic和ISAP算法,问过 CA爷后得知其实效率上无异,所以决定跟随Charge的步伐学习Dinic,所 ...
- Power Network(网络流最大流 & dinic算法 + 优化)
Power Network Time Limit: 2000MS Memory Limit: 32768K Total Submissions: 24019 Accepted: 12540 D ...
- ZOJ-2364 Data Transmission 分层图阻塞流 Dinic+贪心预流
题意:给定一个分层图,即只能够在相邻层次之间流动,给定了各个顶点的层次.要求输出一个阻塞流. 分析:该题直接Dinic求最大流TLE了,网上说采用Isap也TLE,而最大流中的最高标号预流推进(HLP ...
- POJ2112_Optimal Milking(网洛流最大流Dinic+最短路Flody+二分)
解题报告 农场有k个挤奶机和c头牛,每头牛到每一台挤奶机距离不一样,每台挤奶机每天最多挤m头牛的奶. 寻找一个方案,安排每头牛到某一挤奶机挤奶,使得c头牛须要走的全部路程中的最大路程的最小值. 要使每 ...
随机推荐
- mysql知识点回顾与梳理
一.sql语句执行顺序 from join on where group by avg,sum,count等各种函数 having select distinct order by(asc(升序),d ...
- 使用 windows 批处理指令(BAT文件)进行文件删除、复制操作
以下是做文件删除和复制的批处理指令 ::替换文件需要添加 /y 参数才能直接替换.不然会出现提示是否替换. ::复制Axis2Implementation和WebServices编译后的文件到tomc ...
- CodeForces - 627A
CodeForces - 627Ahttps://vjudge.net/problem/326413/origina+b == (a&b)<<1 +(a^b);然后是位运算,如果对 ...
- mongodb集群搭建过程记录
mongodb集群搭建花费比较长的时间,在此记录下过程,方便以后使用 一 软件环境 系统:ubuntu 18.04,mongodb 社区版4.2 https://docs.mongodb.com/ma ...
- #socket #socketserver
#通过socket 实现简单的ssh#服务端 #服务端 import os import socket server = socket.socket() #server.bind(('0.0.0.0' ...
- JS获取页面,元素,窗口和返回页面,元素,窗口的宽高以及滚动值
jquery获取页面,元素,窗口的宽高以及滚动值 //获取浏览器显示区域(可视区域)的高度 : $(window).height(); //获取浏览器显示区域(可视区域)的宽度 : $(window) ...
- MySQL加快批量更新 UPDATE优化
如果是更新为同样的内容,没啥难度,直接在where里面下功夫就好了,大家都懂,我要说的是针对更新内容不一样的情况 首先,先看看网上转载的方法: mysql 批量更新如果一条条去更新效率是相当的慢, 循 ...
- xml转化为数组
function xml_to_array($xml) { return json_decode(json_encode(simplexml_load_string($xml)), true); }
- JavaScript也是黑客技术?
JavaScript 超级 BUG!多款 x86/ARM 处理器瞬间遭破解 https://www.oschina.net/news/82108/javascript-bug-cause-cpu-as ...
- html中有序列表标签ol,li的高级应用
本文主要介绍html中有序列表标签ol,li的高级应用, 在网页设计时我们设计有序列表内容时,经常会在每个ITEM前手工加上一个数值,或是由程序加上这个数值. 而如果使用有序列表标签ol和li,则不需 ...