学习笔记第二节:最大权闭合图

关于

      这个算法是在接触太空飞行计划问题时接触到的。为了解决这道问题,我在网上查阅了相当多的资料,在这里整理给大家。题目点击打开链接https://www.luogu.org/problemnew/show/P2762

开始

     闭合图的含义,就是在一张图中,我们选取一些点构成集合,记为V,且集合中的出边所指向的终点也在V中,我们就称V为闭合图。也就是说,一张图中的点,他们的儿子也在这张图中。

      像上面这张图,图中的闭合图就有(1,2,3,4),(1,2,3,4,5),(2,3),(2,3,5),(2,3,4),(2,3,4,5),(3),(3,5)。

         对没错,而我们也可以把太空飞行计划问题转化为求最大权闭合子图的问题,正如给上图的每个点加上一个权值,如果是实验则为正,仪器则为负。如下图。

      

       样例如上,那么我们从含义来找答案,闭合图是不是一定要满足儿子也在这个集合里面,就像题目中实验和仪器的关系一样。那么我们就可以马上建出上面这张图,明显的,最大权闭合图的值就是10+25-5-6-7=17;

      很多人会说,你这么说谁都会,但是怎么用网路流来实现呢?

      我们从begin连一条流量为权值的边到每个实验,从每个仪器连一条流量为权值的绝对值的边到end。

      而原来的边的流量都改为INF。如下图。


      我们先来阐明一个结论,最小割把整个网络分为两个部分,其中含begin的部分,我们称为V。含end的部分,我们称为P;在V中,除begin外为最大权闭合子图。

我们先来说明两个引理。

**1.最小割是简单割。

      简单割指的是一个割中的边都与begin或end相关联。

      因为把与begin相连的所有边为A割,而最小割肯定小于或等于A割,而如果最小割不是简单割,那么就包含流量为INF的边,又因为最小割小于或等于A割,所以矛盾。最小割为简单割。

**2.简单割与闭合图一一对应。

      那么我们需要说明两个东西。

      1.闭合图是由简单割割出来的,如果闭合图不是由简单割割出来的,那么说明割掉了一条流量为INF的边,所以这时闭合图中的某个点的所连边的终点不在集合中,矛盾。

      2.简单割构成的一定是闭合图,因为简单割中不包含流量为INF的边,所以对于闭合图中的任意连边两点u,v,c(u,v)=INF;这条边不会被割掉,所以简单割构成的一定闭合图。

极奥义,证明结论。

      我们设一个东西C=V中的负权点的权值的绝对值+P中正权点的权值;(这个就是割集的边的权值和,因为这些东西都写在边上了,网络流的时候在点上是没有任何东西的。)

      设W=V中的正权点的权值-V中负权点的权值的绝对值。 

      W+C=P中正权点的权值+V中正权点的权值。

      那么W+C及为所有正权点的和。

      设W+C=tot;那么我们知道C为割,W为我们要求的值,tot很明显不变。我们想尽量使我们要求的W尽量大,那么C就要尽量小,所以C就是最小割,我们跑一遍最大流就可以实现。

完了,题解专题中有写。谢谢,不懂评论问我。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值