本蒟蒻对于二分图一些定理的理解

先给出一些定理 (常识)

1.对于一个无向图 G,若 G 中的所有回路长度均为偶数,则G为一个二分图。
2.二分图的最小点覆盖 = 最大匹配数。
3.二分图的最大独立集 = n-最小点覆盖 = n-最大匹配数。
4.二分图中最小边覆盖 = 最大独立集
5.最大匹配数 = 左边匹配点 + 右边未匹配点。

一 二分图是什么

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

以上内容摘自百度百科。

翻译成人话就是一张无向图,如果能将它的点集分为两个,且每个点集内部没有边相连,只有两点集间有边相连,那么它就是一个二分图。

二 二分图的判定

(1)证明

那么为啥说

1.对于一个无向图 \(G\),若G中的所有回路长度均为偶数,则 \(G\) 为一个二分图。

我们有如下的证明:(以下内容参照百度百科)

不妨设两个点集分别为 \(X\) 和 \(Y\)

1.必要性

\(\because\) 点集内部没有边

\(\therefore\) 对于 \(G\) 中的一个长度为 \(n\) 的回路 \(Z=(a_1,a_2,...a_n) (a_n==a_1)\) 其顶点一定在 \(X 和 Y\) 中交替出现,所以点数一定为偶数。

又 \(\because Z\) 为回路,所以其中每个点均连接两条边,即边数等于点数,所以边数为偶数。

2.充分性

现在我们有一个联通的无向图 \(G=(V,E)(V为点集,E为边集)\) ,且 \(G\) 中任意回路长度为偶数。那么我们证明其能分为两个点集,且点集内部无边。

我们从 \(V\) 中选出一个点 \(V_0\) ,然后我们设:

\(X=\{v|v==v_0 || dis(v,v_0)\&1==0\}\)

\(Y=V-X\)

显然 \(X\) 不为空。又 \(\because |V| >= 2\) 所以 有与 \(v_0\) 相连的点,所以 \(Y\) 不为空。

我们设边 \((u,v)\) 的两点都在 \(X\) 中,那么 \(dis(u,v_0)==dis(v,v_0)==2*k\) 而 \(dis(u,v)==1\),所以可以找到一个从 \(v_0\) 到 \(v_0\) 的奇数长度的回路,与题设矛盾。\(\therefore (u,v)\) 不会都在 \(X\) 中。

同理设边 \((u,v)\) 的两点都在 \(Y\) 中,那么 \(dis(u,v_0)==dis(v,v_0)==2*k+1\) 而 \(dis(u,v)==1\),所以可以找到一个从 \(v_0\) 到 \(v_0\) 的奇数长度的回路,与题设矛盾。\(\therefore (u,v)\) 不会都在 \(Y\) 中。

综上所述,原命题得证。

(2)算法

通过上面的论证,我们很容易得出一个判定二分图的算法(染色法):

①任选一个点染色

②将所有与她相连的点染为相反的颜色

③若有一个点已经染色且与当前定点颜色相同,则G不为二分图

三 二分图的匹配

要提到后面四个定理的话,就必须说一说二分图的匹配。

(1)定义

对于 \(G\) 中的一个边的集合 \(M\) ,若M中的所有点均只与一条M中的一条边相连,则 \(M\) 为 \(G\) 的一个匹配,其中边数最大的 \(M\) 为二分图的最大匹配。

说人话:就是选出一些边,使得任意两边没有公共顶点。

(2)最大匹配

如题,就是匹配数最大的匹配。

<1> 求法
  1. 匈牙利算法

每次从一个未匹配点出发,走一条 非匹配边,匹配边...非匹配边的交错路,如果走到了一个未匹配点,那么就找到了一条增广路,将增广路上的匹配边与非匹配边互换,则匹配数加一。

2.最大流

从S向左边的点连一条流量为1的边,左边的点向右边连容量为1的边,右侧的点向T连一条1的边,那么跑出来的最大流为最大匹配数。

<2> 性质

2.二分图的最小点覆盖 = 最大匹配数。

3.二分图的最大独立集 = n-最小点覆盖 = n-最大匹配数。

5.最大匹配数 = 左边匹配点 + 右边未匹配点。

四 蒟蒻关于先前定理的理解

以下内容参照这篇文章

开始前先讲一下概念:

1.最大匹配:见前方二分图的匹配。
2.最小点覆盖:用最少的点,让图中每条边都至少和其中一个点关联。
3.最大独立集:从图中选出一些点,使得其两两间无边的所能选出的最多的点。
4.最小边覆盖:用尽量少的不相交简单路径覆盖有向无环图(DAG)(这里是二分图) G 的所有顶点。

定理1:

对于一个无向图 \(G\),若 \(G\) 中的所有回路长度均为偶数,则 \(G\) 为一个二分图。

见前方二分图的判定。

定理2:

二分图的最小点覆盖 = 最大匹配数。

To be continued

转载于:https://www.cnblogs.com/mrasd/p/9911151.html

本蒟蒻对于二分图一些定理的理解相关推荐

  1. [颓废史]蒟蒻的刷题记录

    QAQ蒟蒻一枚,其实我就是来提供水题库的. 以下记录从2016年开始. 1.1 1227: [SDOI2009]虔诚的墓主人 树状数组+离散化 3132: 上帝造题的七分钟 树状数组 二维区间加减+查 ...

  2. CCF NOI WC 2019 游记 by.一个云南蒟蒻

    序 我是一个来自云南的蒟蒻. 大约是2018年八月份,我开始正式学习OI.在此之前,我约莫一直听说这世上有这么一种神奇的东西,兴许也曾路过,却从未走进这扇门来(大概是百度过,兴许是被铺天盖地的广告劝退 ...

  3. 【bzoj4916】神犇和蒟蒻 杜教筛

    题目描述 很久很久以前,有一只神犇叫yzy; 很久很久之后,有一只蒟蒻叫lty; 输入 请你读入一个整数N;1<=N<=1E9,A.B模1E9+7; 输出 请你输出一个整数A=\sum_{ ...

  4. 蒟蒻浅谈树链剖分之一——两个dfs操作

    树链剖分,顾名思义就是将树形的结构剖分成链,我们以此便于在链上操作 首先我们需要明白在树链剖分中的一些概念 重儿子:某节点所有儿子中子树最多的儿子 重链:有重儿子构成的链 dfs序:按重儿子优先遍历时 ...

  5. python字符串去头尾_悉尼大学某蒟蒻的Python学习笔记

    About me 本蒟蒻是悉尼大学计算机科学大一的学生,这篇博客记录了学习INFO1110这门课的一些心得,希望能对大家有帮助. To start with 因为计算机只能识别机器语言,所以我们需要编 ...

  6. 【BZOJ4916】神犇和蒟蒻(杜教筛)

    [BZOJ4916]神犇和蒟蒻(杜教筛) https://www.cnblogs.com/cjyyb/p/8297338.html 杜教筛技巧

  7. USACO 简易题解(蒟蒻的题解)

    蒟蒻难得可以去比赛,GDOI也快到了,还是认真刷题(不会告诉你之前都在颓废),KPM 神犇既然都推荐刷USACO, 辣就刷刷. 现在蒟蒻还没刷完,太蒟刷得太慢,so 写了的搞个简易题解(没代码,反正N ...

  8. 蒟蒻吃药计划-治疗系列 #round6 数据结构初步-指针|链表|结构体

    今天小蒟蒻我学习了一丁点儿关于数据结构的东西,现在我来和大家昏响昏响. %%%WEY神犇神速切火题 更新中 转载于:https://www.cnblogs.com/Fraction/p/8477739 ...

  9. 【2018.1.14】关于本蒟蒻

    额额额 因为实在太弱,以及,也没用能力更新博客... 所以,就扔着废了好久.. 不过考虑到,有些东西过了一段时间以后自己就会忘记, 也不希望我的蒟蒻有限的OI生涯什么都没有留下. 所以会把一些(比如我 ...

最新文章

  1. Java的List排序
  2. python 文件大小,获取时间
  3. Docker镜像分层和临时容器
  4. Sphinx的介绍和原理探索
  5. 在Kubernetes中使用Sateful Set部署Redis
  6. 虚拟法庭、云端判案...法律行业背后的智能技术革新
  7. android timepicker分割线颜色,关于Android的TimePicker和DatePicker一些简单的使用问题
  8. 外包以小时计算金额的费用_全了!各大税种的计算公式,建议收藏!
  9. Android 测试
  10. 怎么关闭服务器系统自动更新,自动更新怎么关闭 如何关闭window自动更新提高运行速度...
  11. 微信图文排版指南-如何在图片上添加文字?
  12. STM32单片机初学5-IIC通信驱动OLED屏幕
  13. hexo建站之yilia主题diy
  14. NOKIA 手机旺旺 nokia 5230手机旺旺 手机旺旺软件下载
  15. 计算机设备2后符号,表情符号含义展示的方法及设备与流程
  16. ie11与html不兼容,IE11浏览器网页不兼容怎么办?IE 11浏览器网页不兼容解决方法...
  17. dede栏目添加自定义字段方法
  18. 分享一道面试题:10ml试管10ml的水,一个7ml,一个3ml,将10ml分成两个5ml的
  19. 自如上线分期支付,租金贷发展受限后充分利用流量变现
  20. 项目专题 1: 结构化方法学自动取款机系统(ATM)分析

热门文章

  1. 3D几何图形的生成算法
  2. 《LeetCode力扣练习》第55题 跳跃游戏 Java
  3. JDBC MySQL Servlet Java入门编写时的一些问题(html背景图片设置、input=date与Java和数据库之间的通信、SQL的基础语句与变量的编写)
  4. 数据可视化之 星图
  5. benchmark mysql_程序员的MySQL手册(二): 监控与benchmark
  6. 限制会话id服务端不共享_会话控制 - able-woman - 博客园
  7. php log pecl,PHP日志扩展SeasLog-1.0.0正式版在PECL发布
  8. java中mymaps_Java MyLocationStyle.myLocationType方法代码示例
  9. C++知识点43——解引用运算符和箭头运算符的重载及智能指针类的实现
  10. 记录一下CUDNN配置