题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3549思路分析:该问题为裸的最大网络流问题,数据量不大,使用EdmondsKarp算法求解即可;需要注意的是该问题的点最多有15个,边的数目最多有1000个,所以该图中存在重边,需要将多个重边合为一条边;...
分类:
其他好文 时间:
2015-07-25 12:02:02
阅读次数:
138
求网络流有很多算法,这几天学习了两种,记录一下EK算法。首先是网络流中的一些定义:V表示整个图中的所有结点的集合.E表示整个图中所有边的集合.G = (V,E) ,表示整个图.s表示网络的源点,t表示网络的汇点.对于每条边(u,v),有一个容量c(u,v) (c(u,v)>=0),如果c(u,v)....
分类:
编程语言 时间:
2015-06-18 12:58:12
阅读次数:
148
http://acm.hdu.edu.cn/showproblem.php?pid=1532求最大的流量,用dinic算法就好。 1 // Rujia Liu 2 // 因为图较大,所以采用Dinic而不是EdmondsKarp 3 // 得益于接口一致性,读者无须理解Dinic就能使用它。 ...
分类:
其他好文 时间:
2015-06-12 20:49:12
阅读次数:
114
最近大三学生让我去讲课,我就恶补了最大流算法,笔者认为最重要的是让学弟学妹们入门,知道算法怎么来的?为什么是这样?理解的话提出自己的改进,然后再看看Dinic、SAP和ISAP算法…..一、概念引入 首先要先清楚最大流的含义,就是说从源点到经过的所有路径的最终到达汇点的所有流量和。 流网络G=(V....
分类:
编程语言 时间:
2014-12-25 21:45:39
阅读次数:
190
题目大意:有一些车和一些修车的人,给出每个人修每个车的时间,问所有人等待的最短平均时间是多少。
思路:记得POJ有一个和这个很像的题,做法是一样的。对于每个人修车的时候,我们只考虑他修车的时间对在它之后修车的人的时间的影响,因此我们只要考虑每一辆车是倒数第几个修的就可以了,然后朴素的建图,跑朴素的费用流,就可以过。
CODE:
#include
#include
#i...
分类:
其他好文 时间:
2014-11-05 11:01:53
阅读次数:
246
题目大意:宇宙空间中进行了一次竞速大赛。有两种飞行方式,第一种是通过正常的道路,但是只能从标号小的飞到标号大的地方;第二种是直接过去,但是需要花费固定的时间。问正好遍历一次所有的点最少需要的多少时间。
思路:费用流。把每个点拆点,S到每个点的起点连费用0的边,向每个终点连费用为固定费用的边,图中原有的边从一个的起点连到另一个点的终点。然后每个点的终点向T连边。跑最小费用最大流就是最后的答...
分类:
其他好文 时间:
2014-10-27 12:56:03
阅读次数:
185