题目大意:有n个点m条单向边,每条边有一个容量。现有x人要分批从1走到n,问每批最多能走多少人,分几批运完(或输出无法运完)。 解题思路:一看就是网络流的题目。每批最多能走多少人,即最大流。分几批运完,除一下即可。当最大流为0时无法运完。 以下是Dinic算法的代码(为什么我那么喜欢用Dinic?因 ...
分类:
其他好文 时间:
2017-09-10 19:42:48
阅读次数:
135
妖怪题目,做到现在:2017/8/19 - 1:41…… 不过想想还是值得的,至少邻接矩阵型的Dinic算法模板get√ 题目链接:http://poj.org/problem?id=1815 Time Limit: 2000MS Memory Limit: 20000K Description I ...
分类:
编程语言 时间:
2017-08-19 10:54:37
阅读次数:
224
Ford-Fulkerson算法是通过深度优先搜索寻找增广路,并沿着它增广。 与之相对,Dinic算法总是寻找最短的增广路,并沿着它增广。因为最短增广路的长度在增广过程中始终不会变短,所以无需每次都通过宽度预先搜索来寻找最短增广路。 我们可以先进行一次宽度优先搜索,然后考虑由进距离顶点指向远距离顶点 ...
分类:
编程语言 时间:
2017-07-31 20:46:57
阅读次数:
165
思路: 最大流跑三分图匹配,注意每本书只能用一次,所以把每本书拆成两个点,连一条边。 不能直接用EdmondsKarp算法,也不能直接用不加优化的Danic算法,这样会TLE7个点。 本题正解是Dinic算法加上当前弧优化。 ...
分类:
其他好文 时间:
2017-07-29 19:38:53
阅读次数:
142
Dual Core CPU Time Limit: 15000MS Memory Limit: 131072K Total Submissions: 24830 Accepted: 10756 Case Time Limit: 5000MS Description As more and more ...
分类:
编程语言 时间:
2017-07-29 18:13:09
阅读次数:
194
题目:USACO Training 4.2(在官网上提交需加文件输入输出)、洛谷P1894。 题目大意:有n头奶牛m个牛栏,每头牛只会在自己喜欢的牛栏里产奶,问一次最多有多少奶牛能产奶。 解题思路:二分图匹配。这里我用了网络流,先建立超级源点和超级汇点,跑最大流即可。以下是Dinic算法的代码。 C ...
分类:
其他好文 时间:
2017-07-29 13:58:00
阅读次数:
156
题目大意:略。 解题思路:最大流木板题,以下是Dinic算法的代码。 C++ Code: ...
分类:
其他好文 时间:
2017-07-29 12:50:39
阅读次数:
142
题意: 给一个矩阵的每行和及每列和,在给一些行列或点的限制条件。求一个满足的矩阵。 分析: 转化为有上下界的网络流,注意等于也是一种上下界关系,然后用dinic算法。 代码: //poj 2396 //sep9 #include <iostream> #include <queue> #includ ...
分类:
其他好文 时间:
2017-06-23 22:03:48
阅读次数:
173
捉摸了好几天,终于在弄清楚了一点isap的算法~ isap就是改进的dinic算法,进行了重贴标签的运算,并且加入了gap优化,以及当前弧的优化,从而大大提升运算速度。具体分析已经在之前的转载的文章中分析过了。下面是链接 我是链接~ 这是我的代码~(标注!的为第二次写的时候需要注意的部分) ...
分类:
其他好文 时间:
2017-05-30 16:11:58
阅读次数:
112