图论——网络流
Alex_McAvoy
想要成为渔夫的猎手
展开
-
图论 —— 网络流
【概述】网络流是一个适用范围极广的模型,相关的算法也很多,大体分为最大流、最小割、费用流三类。对于网络流类型的题来说,一般根据题意,分析后建出图后,套用相关模版,即可解决问题。关于网络流的基本概念与建模技巧:点击这里【算法】1.最大流算法求最大流算法分为两类,一种是增广路算法,一种是预留推进算法。增广路算法,常用的有时间复杂度 O(n*m*m) 的 FF 算法、EK 算...原创 2019-04-06 22:33:31 · 3303 阅读 · 2 评论 -
图论 —— 网络流 —— 基本概念与建模技巧
【基本概念】1.网络流给定一个有向图 G=(V,E),在这个图中:有唯一的一个源点 S(入度为 0,出发点) 有唯一的一个汇点 T(出度为 0,结束点) 图中的每条弧(u,v)都有一非负容量 c(u,v)此时称图 G 为网络流图(容量网络),记为:G=(V,E,c)简单来说,图就是一种管道,管道有最大通过流量的限制,图中的边权就是容量2.可行流对于一个网络流图 G=(...原创 2019-10-05 17:19:36 · 8817 阅读 · 1 评论 -
图论 —— 网络流 —— 最大流 —— FF 算法与 EK 算法
【概述】FF 算法与 EK 算法是求解最大流的一般增广路方法,其时间复杂度均为 O(n*m*m)Ford-Fulkerson 算法是求解最大流的最基础的算法,其核心思想是增广路定理:网络达到最大流当且仅当残留网络中没有增广路程序的实现过程与增广路求最大流的过程基本一致,即每一次更新都进行一次找增广路然后更新路径上的流量的过程。在传统的 FF 算法中,利用 dfs每次找增广路的过程...原创 2019-03-30 21:50:18 · 3638 阅读 · 3 评论 -
图论 —— 网络流 —— 最大流 —— Dinic 算法
【概述】Dinic 算法在 EK 算法的基础上进行了优化,其时间复杂度为 O(n*n*m)。Dinic 在找增广路的时也是找最短增广路, 但与 EK 算法不同的是 Dinic算法并不是每次 bfs 只找一个增广路,他会首先通过一次 bfs 为所有点添加一个标号,构成一个层次图,然后在层次图中寻找增广路进行更新。【基本思想】1.初始化容量网络与网络流2.构造残量网络,根据残留网...原创 2019-03-30 21:50:54 · 3697 阅读 · 1 评论 -
图论 —— 网络流 —— 最大流 —— SAP 算法与 ISAP 算法
【概述】EK 算法直接进行增广,而 Dinic 则是每次进行 bfs 求出层次图再 dfs 沿着层次图进行多路增广。然而,Dinic 中每次进行 bfs 求层次图有些浪费,因为层次图的改动并不是很大,在这种思路下,因此考虑直接在每次 dfs 增广的时候修改层次图来优化求最短路的过程。SAP(Shortest Augment Path),顾名思义是找最短的增广路,将 EK 算法 O(V*...原创 2019-03-30 21:51:13 · 1032 阅读 · 0 评论 -
图论 —— 网络流 —— 最大流 —— 压入与重标记算法
【概述】压入与重标记算法(Push-Relable Algorithms)又称预留推进算法,是 GoldBerg 与 Tarjan 共同发现的,时间复杂度为 O(V*V*E)该算法与 EK 、Dinic 等增广路算法一样是用于求最大流的,不同于增广路算法检查整个残留网络来找出增广路径,该算法每次仅对一个顶点进行操作,并且检查残量网络中该点相邻的点。【算法原理】首先引入新名词的定义:...原创 2019-09-22 20:52:19 · 1108 阅读 · 1 评论 -
图论 —— 网络流 —— 最小割 —— 平面图与对偶图
【平面图】对于一个图 G=(V,E),若其重画后,在平面任意两条边的交点除了图中点外,没有其他交点,那么这个图称为平面图在平面图中,由边包围并且其中不含顶点的区域称为面 包围面 R 的所有边组成的回路称为面 R 的边界 回路长度称为面 R 的度,记为 deg(R) 具有相同边界的面称为相邻面 由平面图的边包围的无穷大的面称为外部面,一个平面图有且仅有一个外部面 所有面的度的和...原创 2019-08-18 16:08:58 · 1485 阅读 · 0 评论 -
图论 —— 网络流 —— 最小割 —— 最大权闭合子图
【概述】给出一个有向图,每一个点都有一个权值,现在要选择一个权值和最大的子图,使得每个点的后继都在子图中,这个子图就称为最大权闭合子图。如上图,能选的子图有:Ø、{1,2,3,4,5,6}、{3,6}、{2,4,5,6}、{4,6}、{5,6}、{6}、,他们的权值分别为:0、16、12、4、2、4、5因此最大闭合子图为:{1,2,3,4,5,6},权值为 16【解法】最大...原创 2019-10-02 14:30:39 · 868 阅读 · 0 评论 -
图论 —— 网络流 —— 费用流 —— MCMF 算法
【概述】EK 算法是每次用广搜寻找一条最短的增广路,然后沿其增广,而 MCMF 算法是在 EK 算法的基础上,每次用 SPFA 计算图的距离标号,然后沿着可行边进行增广,即将 EK 算法中的 bfs 替换为 SPFA 求最短路,边权为该边的单位流量花费,即改变遍历的优先级来实现。【基本思想】1.每次查找是否存在从源点到汇点可增广的路径(源点到汇点的最短路且路径上的所有边均不能满流),并...原创 2019-03-30 21:51:36 · 2237 阅读 · 0 评论 -
图论 —— 网络流 —— 费用流 —— 基于 Dijkstra 的费用流
【概述】在求解费用流时,大多数情况都是使用基于 SPFA 的 MCMF 算法,但有时某些毒瘤题会卡 SPFA,此时就要利用基于 Dijkstra 的费用流来求解。【算法原理】基于 Dijkstra 的费用流实质上就是在 MCMF 中代替SPFA 来找增广路径,由于 Dijkstra 只能处理负边权图,因此在求费用流时,需要对图进行处理,来保证边权非负引入一个势能函数 h[x],D...原创 2019-09-30 18:16:22 · 1107 阅读 · 0 评论 -
图论 —— 网络流 —— 费用流 —— zkw 费用流
【概述】求解费用流的方法很多,目前最流行的是 MCMF 费用流,其实质是将 EK 算法中的 bfs 换为了 SPFA 来计算最小费用,但其存在的一个缺点是 EK 是单路增广的,这样速度会相应的慢一些然后 zkw 神犇进行了改进,在 dfs 的时候实现多路增广,利用 KM 算法来代替 SPFA 算法来修改顶标,简单来说,其将 EK 费用流与 Dinic 费用流结合了起来。【算法原理】...原创 2019-08-20 10:43:57 · 1858 阅读 · 0 评论 -
Flow Problem(HDU-3549)
Problem DescriptionNetwork flow is a well-known difficult problem for ACMers. Given a graph, your task is to find out the maximum flow for the weighted directed graph.InputThe first line of inp...原创 2018-12-28 12:23:05 · 363 阅读 · 0 评论 -
Our Journey of Dalian Ends(2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛 J)
Problem DescriptionLife is a journey, and the road we travel has twists and turns, which sometimes lead us to unexpected places and unexpected people.Now our journey of Dalian ends. To be careful...原创 2019-08-27 10:57:03 · 204 阅读 · 0 评论 -
Build String(CF-237E)
Problem DescriptionYou desperately need to build some string t. For that you've got n more strings s1, s2, ..., sn. To build string t, you are allowed to perform exactly |t| (|t| is the length of s...原创 2019-08-02 15:38:38 · 369 阅读 · 0 评论 -
狼抓兔子(HYSBZ-1001)
Problem Description现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的,而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面对下面这样一个网格的地形:左上角点为(1,1),右下角点为(N,M)(上图中N=4,M=5).有以下三种类型的道路(x,y)<==>(x+1,y) (x,y)<==>...原创 2019-08-18 17:51:06 · 359 阅读 · 0 评论 -
PIGS(POJ-1149)
Problem DescriptionMirko works on a pig farm that consists of M locked pig-houses and Mirko can't unlock any pighouse because he doesn't have the keys. Customers come to the farm one after another....原创 2019-01-01 14:45:24 · 419 阅读 · 0 评论 -
Drainage Ditches(POJ-1273)
Problem DescriptionEvery time it rains on Farmer John's fields, a pond forms over Bessie's favorite clover patch. This means that the clover is covered by water for awhile and takes quite a long ti...原创 2018-12-29 10:32:37 · 274 阅读 · 0 评论 -
Maximum Flow(2017 ACM-ICPC 亚洲区(西安赛区)网络赛 E)
Problem DescriptionGiven a directed graph withnnnodes, labeled 0,1,⋯,n−1.For each<i, j>satisfies 0≤i<j<n, there exists an edge from the i-th node to the j-th node, the capacity of...原创 2019-08-28 10:30:11 · 220 阅读 · 0 评论 -
Harmonious Army(HDU-6598)
Problem DescriptionNow, Bob is playing an interesting game in which he is a general of a harmonious army. There arensoldiers in this army. Each soldier should be in one of the two occupations, Ma...原创 2019-09-24 20:19:22 · 196 阅读 · 0 评论 -
K Subsequence(HDU-6611)
Problem DescriptionMaster QWsin is dating with Sindar. And now they are in a restaurant, the restaurant hasndishes in order. For each dish, it has a delicious valueai. However, they can only ord...原创 2019-09-30 18:18:53 · 255 阅读 · 0 评论 -
Firing(POJ-2987)
Problem DescriptionYou’ve finally got mad at “the world’s most stupid” employees of yours and decided to do some firings. You’re now simply too mad to give response to questions like “Don’t you thi...原创 2019-10-02 15:47:19 · 569 阅读 · 0 评论 -
Path(HDU-6582)
Problem DescriptionYears later, Jerry fell in love with a girl, and he often walks for a long time to pay visits to her. But, because he spends too much time with his girlfriend, Tom feels neglecte...原创 2019-10-04 16:16:20 · 265 阅读 · 0 评论 -
Magic Potion(Gym-101981I)
Problem DescriptionThere are n heroes and m monsters living in an island. The monsters became very vicious these days,so the heroes decided to diminish the monsters in the island. However, the i-t...原创 2019-10-05 13:55:00 · 339 阅读 · 0 评论 -
最小费用最大流(洛谷-P3381)
题目描述如题,给出一个网络图,以及其源点和汇点,每条边已知其最大流量和单位流量费用,求出其网络最大流和在最大流情况下的最小费用。输入输出格式输入格式:第一行包含四个正整数N、M、S、T,分别表示点的个数、有向边的个数、源点序号、汇点序号。接下来M行每行包含四个正整数ui、vi、wi、fi,表示第i条有向边从ui出发,到达vi,边权为wi(即该边最大流量为wi),单位流量的费用...原创 2019-10-05 17:16:13 · 1286 阅读 · 0 评论