热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

二分图匹配相关性质(知识点整理)

思路来源http:www.matrix67.comblogarchives116https:blog.csdn.netACMer_ZParticledetails7857092

思路来源

http://www.matrix67.com/blog/archives/116

https://blog.csdn.net/ACMer_ZP/article/details/78570926

https://blog.csdn.net/huangshuai147/article/details/51087275

https://www.cnblogs.com/icode-girl/p/5418461.html

心得

有些东西真是学了又学学了又忘忘了又学

依稀记得自己去年就在学这个

最小点覆盖 最小边覆盖 最大匹配 最小路径覆盖 最大独立集

以下除最小路径覆盖指DAG外,其余皆为二分图

结论

1.最小点覆盖=最大匹配 

2.最大独立集=总点数-最大匹配

3.最小边覆盖=总点数-最大匹配

4.DAG不相交最小路径覆盖=DAG顶点数-对应二分图最大匹配

5.无向图最大匹配=最大匹配/2

输出最小点覆盖方案:https://blog.csdn.net/Code92007/article/details/83688492

输出最大独立集方案:https://blog.csdn.net/Code92007/article/details/98205680

证明

1.最小点覆盖

用最少的点,覆盖所有的边,全为孤立顶点(没边)输出0

证明:Konig定理

http://www.matrix67.com/blog/archives/116

 

2.最大独立集

选中最多的点,使得两两之间都没有边,

联合结论1,即证最大独立集=总点数-最小点覆盖

设最小点覆盖点集为S,S的大小为n,全集为U,

记没有在S中的点构成的集合为T(即U-S)

①若T内存在两点之间有边E,则E没有被S内的点覆盖,矛盾,故T内两两之间没有边

①说明,T是一个合法解,所以答案不小于T,ans>=|T|

②若T还可扩充,则必至少选一点v,v属于S,且v与T内所有点之间都没有边

这说明,与v相连的所有边,另一端的顶点都是集合S-v里的点,

同样表明,与v相连的所有边,被S-v的点覆盖了,因此,在最小点覆盖中,v多余,

这说明,S-v构成一个新的最小点覆盖,与S是最小点覆盖,矛盾

②说明&#xff0c;T不可扩充&#xff0c;所以答案不大于T&#xff0c;ans<&#61;|T|

①②表明&#xff0c;ans&#61;|T|

 

3.最小边覆盖

用最少的边&#xff0c;覆盖所有的点&#xff0c;有孤立顶点时不存在

证明&#xff1a;

由于最大匹配边能覆盖两个点&#xff0c;而非匹配边只能覆盖一个点&#xff0c;所以优先用最大匹配里的边

设点数为n&#xff0c;最大匹配为m&#xff0c;则m条边覆盖2*m个点&#xff0c;

其余n-2*m个点只能由n-2*m条非匹配边覆盖&#xff0c;

故共计n-m条边&#xff0c;为点数-最大匹配

 

4.DAG不相交最小路径覆盖

用若干条不相交(不共点不共边)的路径&#xff0c;覆盖所有的点

图片来源&#xff1a;https://www.cnblogs.com/icode-girl/p/5418461.html

左边DAG图&#xff0c;一个点拆成出点和入点两个点&#xff0c;二分图左侧为出点&#xff0c;右侧为入点

原图中1到3的连边&#xff0c;对应二分图中出点1到入点3的连边&#xff0c;

设DAG中顶点数为n&#xff0c;最大匹配数为m&#xff0c;且认为最大匹配的边有方向&#xff0c;从左指向右&#xff0c;

那么最大匹配上左边的点&#xff0c;因为有后继&#xff0c;所以不可能成为一条路径中的终点&#xff0c;

而其他的点&#xff0c;因为没有后继&#xff0c;所以只能成为出度为0的点&#xff0c;即终点&#xff0c;

终点的个数&#xff0c;即为路径的条数&#xff0c;所以&#xff0c;左侧剩下了n-m个点&#xff0c;也就对应了n-m条路径

 

5.无向图最大匹配&#61;最大匹配数/2

无向图因为左侧连向右侧有边&#xff0c;右侧连向左侧也有边

所以不论左侧右侧&#xff0c;统统求一遍最大匹配&#xff0c;

最大匹配边&#xff0c;左边被计一次右边被计一次&#xff0c;故除以2

 


推荐阅读
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 本文介绍了一些好用的搜索引擎的替代品,包括网盘搜索工具、百度网盘搜索引擎等。同时还介绍了一些笑话大全、GIF笑话图片、动态图等资源的搜索引擎。此外,还推荐了一些迅雷快传搜索和360云盘资源搜索的网盘搜索引擎。 ... [详细]
  • HTML学习02 图像标签的使用和属性
    本文介绍了HTML中图像标签的使用和属性,包括定义图像、定义图像地图、使用源属性和替换文本属性。同时提供了相关实例和注意事项,帮助读者更好地理解和应用图像标签。 ... [详细]
  • 本文介绍了一些Java开发项目管理工具及其配置教程,包括团队协同工具worktil,版本管理工具GitLab,自动化构建工具Jenkins,项目管理工具Maven和Maven私服Nexus,以及Mybatis的安装和代码自动生成工具。提供了相关链接供读者参考。 ... [详细]
  • IT方面的论坛太多了,有综合,有专业,有行业,在各个论坛里混了几年,体会颇深,以前是论坛哪里人多 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文详细介绍了在ASP.NET中获取插入记录的ID的几种方法,包括使用SCOPE_IDENTITY()和IDENT_CURRENT()函数,以及通过ExecuteReader方法执行SQL语句获取ID的步骤。同时,还提供了使用这些方法的示例代码和注意事项。对于需要获取表中最后一个插入操作所产生的ID或马上使用刚插入的新记录ID的开发者来说,本文提供了一些有用的技巧和建议。 ... [详细]
  • SAP羞辱国产软件商:技术停在10年前
    SAP中国研究院总裁芮祥麟表示,国产软件厂商过于热衷概念炒作,技术水平停留在10年前的客户端架构水平。他认为,国内厂商推出基于SOA的产品或转型SAAS模式是不可能的,研发新架构需要时间。当前最热门的概念是云计算,芮祥麟呼吁国产厂商应该潜心研发底层架构。 ... [详细]
author-avatar
肥姐PK老赖
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有