2012年5月29日
摘要: 网络流的最经典应用就是最大流....给定一个图...给出每条边能流过的最大流量...求源点到汇点的最大流量.... 求解网络流的基本思想就是每次寻找增广路(就是源点到汇点的一条可行路)..然后ans+=增广路能流过的流量..更新剩余网络..然后再做增广路...直到做不出增广路..关于网络流入门最难理解的地方就是剩余网络了....为什么在找到一条增广路后...不仅要将每条边的可行流量减去增广路能流过的流量...还要将每条边的反向弧加上增广路能流过的流量.?..原因是在做增广路时可能会阻塞后面的增广路...或者说做增广路本来是有个顺序才能找完最大流的.....但我们是任意找的...为了修正...就 阅读全文
posted @ 2012-05-29 22:19 有间博客 阅读(23820) 评论(1) 推荐(4) 编辑
摘要: #include<cmath>usingnamespacestd;#include<numeric>#include<functional>#include<iostream>#include<algorithm>#include<bitset>#include<string>#include<cstring>#include<cstdio>#include<queue>#include<set>//Bychyx111typedefpair<int,int& 阅读全文
posted @ 2012-05-29 21:54 有间博客 阅读(604) 评论(0) 推荐(0) 编辑
摘要: 最近又复习了下最大流问题,每次看这部分的内容都会有新的收获。可以说最大流问题的资料网上一搜一大把,根本没有必要自己写;但是大部分资料上的专业术语太多了,初学很难理解,至少我当年学这部分的时候前几次就没有看懂。所以我准备备份一点个人的理解。图-1 如图-1所示,在这个运输网络中,源点S和汇点T分别是1,7,各边的容量为C(u,v)。图中红色虚线所示就是一个可行流。标准图示法如图-2所示:其中p(u,v) / c(u,v)分别表示该边的实际流量与最大容量。关于最大流熟悉了什么是网络流,最大流也就很好理解了。就是对于任意的u∈V-{s},使得p(s,u)的和达到最大。上面的运输网络中,最大流如图-3 阅读全文
posted @ 2012-05-29 21:43 有间博客 阅读(390) 评论(3) 推荐(0) 编辑
摘要: 网络流很多问题都可以转化成网络流问题,如运输货物时的物流问题,水流问题,匹配问题等等。网络是一个各条边都有权值和方向的图。网络流问题,一般情况下我们会把各种网络问题抽象成网络流问题,网络流是满足以下性质的网络:每一条边拥有一个最大的容量c,即该条边可以容纳的最大流量,f是流过该边的实际流量,且总有f<=c。对于图中每个顶点(源点和汇点除外)都有流出的流量等于流入的流量。图中只有一个源点一个汇点,且对于源点来说其流入量为0,对于汇点来说流出量为0,源点的流出量等于汇点的流入量,对于最大流问题既是要找出流入汇点的最大流量值。求最大流的算法:EK算法:EK算法中涉及的三个关键词:残留网络,增广 阅读全文
posted @ 2012-05-29 21:26 有间博客 阅读(291) 评论(0) 推荐(0) 编辑