• 网络流填坑


    一、最小路径覆盖:

      给定有向图G=(V,E)。设P 是G 的一个简单路(顶点不相交、重复)的集合。如果V 中每个顶点恰好在P 的一条路上,则称P是G 的一个路径覆盖。P 中路径可以从V 的任何一个顶点开始,长度也是任意的,特别地,可以为0。G 的最小路径覆盖是G 的所含路径条数最少的路径覆盖。

      性质:最小路径覆盖=|G|-最大匹配数

      上述公式中最大匹配数是这样来的:

      对于G中每一个节点x,建立节点x1,x2。若x- >y存在边,则x1与y2之间连一条无向边,求这个二分图的最大匹配数即可。

    证明如下:

      首先,若最大匹配数为0,则二分图中无边,也就是说有向图G中不存在边,那么

      显然:最小路径覆盖=|G|-最大匹配数=|G|-0=|G|。

      若此时增加一条匹配边x1--y2,则在有向图|G|中,x、y在同一条路径上,最小路径覆盖数减少一个。

      继续增加匹配边,每增加一条,最小路径覆盖数减少一个,则公式:最小路径覆盖=|G|-最大匹配数得证。

    二、最小点覆盖

      点覆盖,在图论中点覆盖的概念定义如下:对于图G=(V,E)中的一个点覆盖是一个集合S⊆V使得每一条边至少有一个端点在S中。(摘自百度百科)

      最小点覆盖就是说,选择最少的点去覆盖图中所有的边,

      性质:最小点覆盖数 = 最大匹配数

      

    证明:

        首先,我们要抓住二分图最大匹配后图的特点,此时,不存在增广路。如下图所示,该图为不完整的最大匹配后的二分图:

        

         红点为匹配点,蓝点为未匹配点。

         对于一个而言,他所连接的点有这三种情况:

         1、只连接了红点;

         2、只连接了蓝点;

         3、连接了红点和蓝点。

         在上面的图中,x与y是所连接的边是匹配边。x连接了红点和蓝点,这个时候,y所连接的点一定没有蓝点,如果有,就是一条新的增广路,那么该图就不是最大匹配图了。

         另一点更明显,就是在最大匹配图中 不会出现一条边同时连接着两个蓝点,因为两个连着两个蓝点的话这条边也是一个匹配。

         那么,对于一条而言,只有两种情况:

         1、两端的点是红点;

         2、两端的点一点是红色,一点是蓝色。

         可知,一条边上,一定有红点,那么,我们就选择红点作为覆盖点。

         对于上面的匹配边xy,我们无论是选择x还是y都可以覆盖xy这条边,但是对于图中的蓝点而言,只能选择x作为覆盖点去覆盖那条边,这样,我们就选择x作为覆盖点,它所覆盖的边中,既包括了与他相连的那些蓝点的边,也包括了xy这条匹配边。因为y点没有蓝色连接点,所以,y不是必须选择的覆盖点,它与那些红点相连的边都可以选择那些红点来覆盖边。所以,对于一条匹配边而言,我们只需要选择其中一个点就可以覆盖完整个二分图里的边了。

        所以最小覆盖点数等于最大匹配。  

    三、最大独立点集

      最大独立点集就是在一个图中选一些点,使得他们两两间没有路径相连。

      性质:最大独立点集=|V|-最小顶点覆盖=|V|-最大匹配数

    证明:

      这个搞清楚最小顶点覆盖之后就很好证明了。

      因为最小顶点覆盖是选择最少的一些点,使它们覆盖所有的边。那我们把这些选出来的点删去之后,图中就不存在边了,剩下的点就是最大独立点集了。

      比如还是这个图

       它的最小点覆盖集是左边那俩点,我们把左边这两个点删掉,图中就没有边了,右边这三个点就是独立的了。

    好多东西啊,先不写了,碰到题再说。

  • 相关阅读:
    牛客网2017年校招全国统一模拟笔试(第三场)编程题集合
    侯捷STL学习(六)--深入list && Iterator traits
    侯捷STL学习(五)--allocator和容器之间的实现关系
    侯捷STL学习(四)--OOP-GP/操作符重载-泛化特化
    侯捷STL学习(三)--分配器测试
    侯捷STL学习(二)--序列容器测试
    牛客网2017年校招全国统一模拟笔试(第一场)编程题集合
    数据库面试题(一)
    SQL基础理论题
    基本SQL练习题--选课经典例题
  • 原文地址:https://www.cnblogs.com/lovewhy/p/8629052.html
Copyright © 2020-2023  润新知