摘要:1、图的匹配:指的是图的不具有公共端点的边的集合。 图的最大匹配指不具有公共端点的最大边数。常见的问题有二分图的最大匹配,可以用dicnic解决或者用匈牙利算法解决。 2、图的边覆盖:是边子集的一种,指的是图中的所有顶点都是边子集中的某一条边的端点。最小边覆盖用最少的边来覆盖所有的顶点。 3、图的顶
阅读全文
随笔分类 - 图论---网络流
摘要:1、图的匹配:指的是图的不具有公共端点的边的集合。 图的最大匹配指不具有公共端点的最大边数。常见的问题有二分图的最大匹配,可以用dicnic解决或者用匈牙利算法解决。 2、图的边覆盖:是边子集的一种,指的是图中的所有顶点都是边子集中的某一条边的端点。最小边覆盖用最少的边来覆盖所有的顶点。 3、图的顶
阅读全文
摘要:题目大意:N头牛,F个食物,D个饮料。每一个食物和饮料只能分享给一头牛,每一头牛也最多获得一个饮料和一个食物,问最多有几头牛可以同时获得一个食物和一个饮料? 这是一个典型的最大流问题。难点在于建图,建完图就是最大流裸题了。 关于见图。 每头牛都有喜欢的食物和饮料,首先看对牛与食物和牛与饮料分别被建边
阅读全文
摘要:题目连接 题目大意:一个n*n的太空矩阵,其中有m个地方存在小行星,有一种武器,该武器可以发射光束,这种光束可以一次性消灭一行或者一列小行星。问:消灭所有的小行星,最少需要多少发光束。 题解:这个题目咋一看看不出来是二分图的题目。设有小行星位于(x,y)。那么可以对x行发射光束,也可以对y列发射光束
阅读全文
摘要:最小费用流最大流问题指的是在一个网络流网络中,每条边有两个权值,分别指的是该边的流量上限和流入流量需要的费用。问当流入的流量为f时,最少需要多少的费用。这中问题称为最小费用流问题,当f=最大流时,称为最小费用流最大流问题。 最小费用流最大流:(洛谷的一个模板题) code: #include<bit
阅读全文
摘要:一个讲的不错的blog 模板code: vector<int>ve[N]; bool mark[N]; int girl[N]; bool find(int x){ for(int i=0;i<ve[x].size();i++){ if(!mark[ve[x][i]]){ mark[ve[x][i]
阅读全文
摘要:dicnic算法求最大流。 dicnic算法就像是对F-F算法的一个优化,F-F算法是无脑求增广路径,直到求不出来路径为止。 比如说这个图,求从1~4的最大流量,很显然应该是200,路径1--2--4和路径1--3--4。但是如果FF算法第一次走的路径是1--2--3--4,那么这条路径的流量就变成
阅读全文
摘要:EK算法是解决最大流问题常用的算法之一,复杂度优于FF算法。EK算法的思路和FF算法是一样的。不同之处是EK算法通过广搜寻路,FF算法深搜寻路。 EK算法的具体步骤: 首先是存图,可以采用邻接矩阵直接存,这种存图方式是比较简单的,后面更新残余网络也比较容易,但是空间复杂度比较高,不实用。 另外一种存
阅读全文
摘要:看了一个下午的最大流问题,首先要明白最大流是用来干嘛的。直观来说,流就像它的名字一样,从源头s运送一些“东西”到汇聚点t,比如下水道系统运输水流,公路网络运输车流。最大流就是求运输的“东西”的最大值。在运输的过程中,每条边都要有个权值c(i,j),用来表示的是该边i-->j的可以承受的最大运输量。
阅读全文
摘要:模板一: Every 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
阅读全文
|