摘要: 1、Dinic算法思路 Dinic算法的思想也是分阶段地在层次网络中增广。它与最短增广路算法不同之处是:最短增广路每个阶段执行完一次BFS增广后,要重新启动BFS从源点Vs开始寻找另一条增广路;而在Dinic算法中,只需一次DFS过程就可以实现多次增广,这是Dinic算法的巧妙之处。Dinic算法具 阅读全文
posted @ 2017-08-12 23:15 GGBeng 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 一、算法理论 【基本思想】 反复寻找源点s到汇点t之间的增广路径,若有,找出增广路径上每一段[容量-流量]的最小值delta,若无,则结束。在寻找增广路径时,可以用BFS来找,并且更新残留网络的值(涉及到反向弧)。而找到delta后,则使最大流值加上delta,更新为当前的最大流值。 【算法详解】 阅读全文
posted @ 2017-08-12 23:13 GGBeng 阅读(873) 评论(1) 推荐(0) 编辑
摘要: 题目链接:排水沟 题意:现有n个排水沟和m个点(其中1是源点,m是汇点),给定n个排水沟所连接的点,求从源点到汇点的最大流量。 【EK解法】 1 #include <algorithm> 2 #include <queue> 3 #include <string.h> 4 using namespa 阅读全文
posted @ 2017-08-12 11:12 GGBeng 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 最大流:DINIC or SAP 最小费用最大流:SPFA+增广(费用的值较离散) or ZKW(费用的值集中) 有源汇的上下界最大流:新建s', t',用(i, j, l, r)表示i到j有一条下界为l上界为r的边,将每条这样的边拆成(s', j, 0, l), (i, t', 0, l), (i 阅读全文
posted @ 2017-08-12 00:06 GGBeng 阅读(508) 评论(0) 推荐(0) 编辑