zoukankan      html  css  js  c++  java
  • 【学习笔记】二分图及相关应用

    声明:本博客所有随笔都参照了网络资料或其他博客,仅为博主想加深理解而写,如有疑问欢迎与博主讨论✧。٩(ˊᗜˋ)و✧*。

    1.匹配

    对于二分图有一个非常重要的判定:两个点集是独立的,即点集内部没有边相连

    还有一些定义:

    极大匹配:指在当前已完成的匹配下,无法再通过增加未完成匹配的边的方式来增加匹配的边数

    最大匹配:所有极大匹配当中边数最大的一个匹配

    完全匹配:(完备匹配):一个匹配中,图中的每个顶点都和图中某条边相关联

    (以上定义均来自百度百科;(by the way ,) 我以前总认为百度百科的定义太生涩难懂了,就按照自己的理解去记忆,但是越往后面学,内容细节越来越繁多,自己的记忆就会出现知识点混乱等情况,而百度百科的定义是最严谨的,所以我觉得还是非常有必要了解百度百科的定义)

    而我们所说的“二分图匹配”一般指“最大匹配”

    最大匹配的一个基本算法——匈牙利算法,推荐一篇较好理解的博客,这里就不过多介绍了

    2.最小点覆盖 (=) 最大匹配

    一些定义

    点覆盖:对于图 (G=(V,E)) 中的一个点覆盖是一个集合 (S⊆V) 使得每一条边至少有一个端点在 (S) 中。

    最小点覆盖:就是中点的个数最少的S集合。普通图的最小点覆盖数只能用搜索解。

    简单证明

    (1.)合法的 若除去最大匹配选择的那些边,还有一条边的端点未被任意一条在匹配中的边覆盖,那这条边就会被加进最大匹配;所以最大匹配时不存在有一条边的两个端点都未被选中,及所有边都至少有一个端点在 (S)
    (2.)最少的 因为此时任意删去一条边,都会导致某一条边出现两个端点都不被覆盖的情况,所以是最少的

    3.最大独立集 (=) 点数(n) (-) 最小点覆盖 (=) 点数(n) (-) 最大匹配

    定义

    在N个点的图G中选出m个点,使这m个点两两之间没有边的点中,m的最大值。

    (这里要看清楚是两两之间没有边相连,而不是两两之间不连通)

    简单证明

    (1.)合法的 去掉了最小点覆盖中所有选择的点之后,剩下来所有的点,它们所连接的边全部被删除,即剩下的点间全部没有边相连
    (2.)最少的 在点覆盖合法的情况下取了最少,再在前面添一个负号,即独立集取了最大

    4.DAG的不可重点最小路径覆盖 (=) 点数(n) (-) 最大匹配

    定义

    找出最小的路径条数,使之成为 (P) 的一个路径覆盖,且每个点被且仅被一条路径覆盖

    (看清楚是路径而不是边)

    简单证明

    假设最初状态为,每个点向自己这个点连的一条边,一共 (n)

    然后开始扩展成路径,即每个点上的那条边尽可能的去和别的路径合并,每通过一条匹配边和另一条路径合并后,答案数就减一

    所以答案等于 (n -) 最大匹配

    5.DAG的可重点最小路径覆盖

    定义

    找出最小的路径条数,使之成为 (P) 的一个路径覆盖,且每个点至少被一条路径覆盖

    结论&简单证明

    我们把所有间接能到的点对,全部添一条直接到达的路径,相当于把中间所有的点打包,到时候遇到重复的就直接一次性越过(通过那条新连的边),然后再按照上面做不可重点即可

    添一条路径很简单,直接 (Floyd)

    F(i, 1, n)
        F(j, 1, n)
            F(k, 1, n)
                if(mp[i][k] && mp[k][j])
                    mp[i][j] = 1;
    

    6.无向图的最大团 (=) 补图的最大独立集

    定义

    完全图:完全图是一个简单的无向图,其中每对不同的顶点之间都恰连有一条边相连

    最大团:在一个无向图中找出一个点数最多的完全图

    简单证明

    其实很简单,补图的最大独立集中所有的点两两之间都没有边,放到原图里来两两之间就都有边了,(over)

  • 相关阅读:
    从尾到头打印链表(基于js)
    替换空格(基于js)
    二维数组的查找(基于js)
    关于document对象
    js之DOM操作总结
    将博客搬至CSDN
    关于js中的数组
    干货集中营
    vim编辑器学习记录
    python3 多线程爆破ftp、mysql、ssh
  • 原文地址:https://www.cnblogs.com/Bn_ff/p/12384868.html
Copyright © 2011-2022 走看看