二分图的相关内容

一.二分图的定义:

        在一个图中划一刀,将图分为左部和右部,如果左部和右部是两个互不相交的子集,则这个

        图是一个二分图

        图例:

        

二.二分图的特点:

        1.至少有两个顶点

        2.回路个数一定是偶数

        3.无回路一定是二分图 / 树

三.二分图的判定:

        交叉染色法:同一条边的两个顶点不能是同一种颜色

        交叉染色法代码实现:

bool dfs(int p,int color){//p是当前点,color是当前颜色,注意此dfs是布尔类型
    col[p]=color;//0代表未走过(0只出现在col数组中),1代表颜色1,2代表颜色2
    for(int i=head[p];~i;i=Next[i]){
        if(col[ver[i]]==color){//同一种颜色
            return 0;//不符合标准直接返回
        }
        else if(col[ver[i]]==0){//未走过
            dfs(ver[i],3-color);//颜色取反
        }
    }
    return 1;//符合标准
}

四.匹配:

        1.匹配:在二分图G的子图M中,M中的各边无公共点

        2.最大匹配:如图,图二是图一的最大匹配

        3.找二分图的最大匹配:

bool Find(int x){
    for(int i=head[x];~i;i=Next[i]){
        int j=ver[i];
        if(!st[j]){//如果未被匹配
            st[j]=1;//标记
            if(match[j]==0||Find(match[j])){
                match[j]=x;//存储找到的“朋友”
                return 1;
            }
        }
    }
    return 0;
}

        4.完全匹配:途中所有点都是匹配点的匹配

        5.极大匹配:无法在通过增加未完成匹配的边的方式来增加匹配边数

五.增广路径:

        1.定义:从左/右部一个非匹配点上,按照非匹配边,匹配边,非匹配边,匹配边……的顺序

               走,最后走到左/右部的一个匹配点上(不走重复边,开始和结束是同一边)

        2.性质:

                ①:一个图的最/极大匹配等价于不存在增广路径

                ②:非匹配边=匹配边+1        

        3.图例:

                红色:匹配

                蓝色边&绿色边:增广路径

                蓝色点&绿色点:增广路径起点

                黑色:普通边 

 六.二分图的最小点覆盖:

        1.定义:用最少的点覆盖最多的边

        2.求解:最小点覆盖=最大匹配

        3.最小点覆盖集:

                ①:定义:左 / 右边所有没有经过的点+右 / 左边所有经过的点(以增广路径为依据)

七.二分图的最大独立集:

        1.定义:从一个图中选出最多的点,使得选出的点之间没有边

        2.等于去掉最少的点,将所有的边都破坏掉

        3.求解:总点数-最大匹配

八.二分图的最大团:

        1.定义:从一个图中选出最多的点,使得选出的点之间都有边

九.最小路径点覆盖:

        1.定义:用最少不走重复点的路径覆盖所有点

        2.求解:总点数-最大匹配

十:最小路径可重复点覆盖:

        1.定义:用最少可相交的点,覆盖所有点

        

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值