zoukankan      html  css  js  c++  java
  • 图论——二分图

    二分图: 
    二分图又称二部图,是图论中的一种特殊模型。设G=(V,E)是一个无向图,如果顶点V可以分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in A, j in B), 则称图G是二分图。 


    匹配: 
    给定一个二分图,在G的一个子图G’中,如果G’的边集中的任意两条边都不依附于同一个顶点,则称G’的边集为G的一个匹配 

    最大匹配: 边数最多

    顶点覆盖: 
    在顶点集合中,选取一部分顶点,这些顶点能够把所有的边都覆盖了。这些点就是顶点覆盖集

    最小顶点覆盖: 顶点数最小

    边覆盖: 
    在边集合中,选取一部分边,覆盖尽可能多的点

    最小边覆盖: 边数最小

    独立集: 
    在所有的顶点中选取一些顶点,这些顶点两两之间没有连线,这些点就叫独立集 

    最大独立集: 顶点最多

    路径覆盖: 
    在图中找一些路径,这些路径覆盖图中所有的顶点,每个顶点都只与一条路径相关联。 

    最小路径覆盖: 路径个数最小

    公式

    最大团 = 补图的最大独立集

    最大独立集 = 最小边覆盖 = V - 最大匹配

    最小顶点覆盖 = 最大匹配数

    套路模板

    最小路径覆盖(不交叉)

    在有向无环图上,假设已经求出最小路径覆盖是x,那么,在这x条路径上,一定有V-x条边。

    那么显然使得边数最大,即可求得最小路径。

    每一条路径上,v-1条边,不妨令每条边的起点代表这条边,问题转化为求有后继结点的顶点个数。

    建图如下

    注意事项:拆点后注意数据范围。

    HIT训练赛:http://acm.hust.edu.cn/vjudge/contest/128794#overview

  • 相关阅读:
    sql 批量更新
    利用反射获取静态类的静态属性值(已知属性名称的字符串表示)
    远程桌面无法复制粘贴
    jquery分页滑动插件(鼠标可控制上下滑动)
    linux 基本操作
    dotnet core+nginx+supervisor
    dotnet core 托管
    net core 依赖注入
    绑定资源
    拉条改变字体大小
  • 原文地址:https://www.cnblogs.com/HITLJR/p/5782110.html
Copyright © 2011-2022 走看看