![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络流
策马奔腾向前冲
这个作者很懒,什么都没留下…
展开
-
Ford-Fullkerson算法
求最大流的过程,就是不断找一条从源到汇的路径,然后构建残余网络,再在残余网络上寻找新的路径,使总流量增加,然后形成新的残余网络,再寻找新路径。。。直到某个残余网络上找不到从源到汇的路径为止,最大流即求出。 每次寻找新流量并构造残余网络的过程,叫“增广”,即增加总流量的值,消减路径上各边的容量,并添加反相边。新找到的流量路径,叫“增广路径” 例:给定点数,边数,每条边的容量,以及源点(0),汇点...原创 2019-08-14 20:12:44 · 812 阅读 · 0 评论 -
Edmonds-Karp算法
如果使用dfs进行增广求最大流 最坏情况下,此图会执行200次dfs,每次新增流量1 实际上运气好只要2次dfs即可求得最大流 为避免上述情况发生,在每次增广的时候选择从源到汇的具有最少边数的增广路径,即不是通过dfs寻找增广路径,而是通过bfs寻找增广路径。 例:http://poj.org/problem?id=1273 POJ 1273Drainage Ditches #...原创 2019-08-14 23:19:21 · 833 阅读 · 0 评论 -
Dinic快速网络流算法
Edmonds-Karp算法,每进行一次增广,都要做一遍BFS。如果能少做几次BFS,即可提高效率,Dinic算法可以减少BFS次数。 Dinic算法的关键:在一次增广的过程中,寻找多条增广路径。(使用DFS) 算法流程: 先利用BFS对残余网络(包括原网络)分层 一个节点的“层”数,就是源点到它最少要经过的边数 分完层后,从源点开始,用DFS寻找增广路,要求DFS的每一步都必须走到...原创 2019-08-15 22:08:32 · 186 阅读 · 0 评论 -
POJ 3436 ACM Computer Factory
ACM Computer Factory 原题大意: 为了追求ACM比赛的公平性,所有用作ACM比赛的电脑性能是一样的,而ACM董事会专门有一条生产线来生产这样的电脑,随着比赛规模的越来越大,生产线的生产能力不能满足需要,所以说ACM董事会想要重新建造一条生产线。 生产线是全自动化的,所以需要机器来组成生产线,给定有多少中种机器,标准ACM用电脑有多少部份,每种机器将什么样的ACM电脑半成品...原创 2019-08-23 00:36:31 · 121 阅读 · 0 评论