[图论]---[网络流]---最大权闭合子图

最大权闭合子图

闭合图的概念

闭合图建立在有向图之上,对于 G = (V, E) 选取一个点的子集 V ’ ,V ’ 的任意一点的所有能到达的点也在集合 V ’ 内,则称 V ’ 为闭合子图。
最大权闭合子图即在G的所有闭合子图中,点权和最大的。
[图论]---[网络流]---最大权闭合子图_第1张图片

最大权闭合子图的求法

构建流量网络,将源点S与所有权值为正的点连一条边,容量为其权值;将权值为负的点向汇点 T 连一条容量为其点权绝对值的边。
原图中的边保留,容量设为INF。
上图所构建出的网络流图如下:
[图论]---[网络流]---最大权闭合子图_第2张图片

结论

结论:最小割所产生的两个集合中,源点S所在集合(除去S点)是原图的最大权闭合子图。

证明

引理1:上述方法构造的网络流图中,最小割是简单割(割集的每条边都与S或T相关联)
证明:易证。

引理2:网络流图中的简单割,与原图中的闭合图存在一一对应的关系(即所有闭合图对应一个简单割,简单割也对应一个闭合图)。
证明:
(1):如果闭合图不是简单割,那么说明有一条边容量为INF,则说明闭合图中有一条出边的终点不在闭合图中,矛盾。
(2):因为简单割不含INF的边,所以不含有连向另一个集合(除T)的点,所以其出边的终点都在简单割内部,符合闭合图定义。

证明最小割的两个集合中,源点S所在的集合是最大权闭合子图:
记:

  1. 一个简单割的容量为 C
  2. 源点S所在集合为N
  3. T所在集合为M

则:C = S与M中相连边的容量+N中的点与T相连边的容量
记为:C = x1+y1
记N这个闭合图的权值和为W。
则:W = N中权值为正的点的权值-N中权值为负的点权的绝对值
记:W = x2-y2
则:W+C = x1+y1+x2-y2
明显 y1 = y2,所以 W+C = x1+x2
x1为M中所有权值为正的点的权值,x2是N中权值为正的点的权值
所以 x1+x2 是所有权值为正的点权值的和(记为TOT)
所以 W = TOT-C
这就是闭合图权值和简单割容量的关系
TOT一定,要使W最大,那么C最小,此时简单割为最小割,闭合图为源点S所在集合。

例题

模板: 洛谷P3410 拍照.
同上,模板:洛谷P2762 太空飞行计划问题.
同上,模板:洛谷P4174 [NOI2006]最大获利.

这三个题目建模可以说一模一样,属于简单的最小割。下面的几道题就需要 动(diao) 点(dian) 脑(tou) 子(fa) 了。

思维: CF311E Biologist.
建模较难的最大权闭合子图: 洛谷P2805 [NOI2009]植物大战僵尸.

你可能感兴趣的:(图论)