网络流

假设G<V,E>是一个有限的有向图,它的每条边(u,v)∈都有一个非负值实数的容量c(u,v).如果(u,v)不属于E,我们假设c(u,v)=0.我们区别两个顶点:一个源s和一个汇t。一个网络流失一个对于所有结点u和V都有以下特征的实函数f:VxV->R 其容量满足以下三个要求:

  1. 容量限制:f(u,v)<=c(u,v)
  2. 斜对称:f(u,v)=-f(v,u)
  3. 流守恒:除非u=s或u=t,否则∑(w∈V)f(u,w)=0则该网络流的流量为s的总输出(或t的总输入)

设Ci为网络N中一些弧的集合,若从N中删去Ci中的所有弧,即:使得从顶点Vs到顶点Vt的路集为空集时,称Ci为Vs和Vt间的一个割。

最大流与最小割

最大流:从s到t的所有可行的网络流中,流量最大的网络流。

最小割:从s到t的割中,删除边权和最小的割。

对于一个给定的s和t,最大流=最小割

对于一个无向图G=<V,E> 点独立集:V的一个子集,使得该集合任意两点之间没有边。 点支撑集:V的一个子集,使得任意V中元素要么属于该集合,要么与该集合中有边相连。 点覆盖集:V的一个子集使得任意E中元素都与该集合中某个或某两个元素相关联。

极大/最大点独立集,极小/最小点支配集,极小/最小点覆盖集。

同样的,我们可以定义边覆盖集(即用边覆盖所有点)与边独立集(即任意两条边之间没有共同点)。

匹配

匹配:G的一个边独立集,又称为G的一个匹配。极大匹配与最大匹配。

二部图(二分图):若无向图G的点集V可以分割成两个互不相交的子集,并且对于边集E中的所有边<vi,vj>所关联的两个顶点Vi,Vj都分属这两个子集,那么图G被称为一个二部图。

二部图匹配的霍尔定理(婚姻定理):设有二部图G<V1,V2,E>且 V1 <= V2 ,则该图有完美匹配的充要条件是,对于任意V1的子集S,设 S =k,则与S想连的点集大小不小于k。

推论:若G为k-正则二部图,那么G重存在k个边不同的完全匹配。

例题分析

此处输入图片的描述

最小点权覆盖 假设有n行和m列 建图: 把矩阵里面的元素分为奇数和偶数的集合

此处输入图片的描述

建立一个二分图,把源点S到奇点集合,偶数点集合到汇点T的容量设为Mij 在奇点和偶点之间的边的容量为INF

此处输入图片的描述

求解:

求最小割,中间权值都是INF,所以一定是一个简单割最小割保证了

  1. 保证相邻至少选一个
  2. 求出解就是可行解

时间复杂度: (nm+2)个点
(n+m+3nm)个边 MaxFlow(nm+2,n+m+3nm)

如果使用Dinic’s算法时间复杂度是O((nm+2)^2(n+m+3nm))=O(n^6)