最小路径覆盖,最小点覆盖,最大独立点集(转)
来自:http://blog.csdn.net/l04205613/article/details/6278394
node 1:最小路径覆盖
在一个PXP的有向图中,路径覆盖就是在图中找一些路经,使之覆盖了图中的 所有顶点,且任何一个顶点有且只有一条路径与之关联;(如果把这些路径中的每条路径从它的起始点走到它的终点,那么恰好可以经过图中的每个顶点一次且仅一 次);如果不考虑图中存在回路,那么每条路径就是一个弱连通子集.
由上面可以得出:
1.一个单独的顶点是一条路径;
2.如果存在一路径p1,p2,......pk,其中p1 为起点,pk为终点,那么在覆盖图中,顶点p1,p2,......pk不再与其它的顶点之间存在有向边.
最小路径覆盖就是找出最小的路径条数,使之成为P的一个路径覆盖.
路径覆盖与二分图匹配的关系:
最小路径覆盖=|P|-最大匹配数;
其中最大匹配数的求法是把P中的每个顶点pi分成两个顶点pi'与pi'',如果在p中存在一条pi到pj的边,那么在二分图P'中就有一条连接pi'与pj''的无向边;这里pi' 就是p中pi的出边,pj''就是p中pj 的一条入边;
对于公式:最小路径覆盖=|P|-最大匹配数;
可以这么来理解:
如果匹配数为零,那么P中不存在有向边,于是显然有:
最小路径覆盖=|P|-最大匹配数=|P|-0=|P|;
即P的最小路径覆盖数为|P|;
P'中不在于匹配边时,路径覆盖数为|P|;
如果在P'中增加一条匹配边pi'-->pj'',那么在图P的路径覆盖中就存在一条由pi连接pj的边,也就是说pi与pj 在一条路径上,于是路径覆盖数就可以减少一个;
如此继续增加匹配边,每增加一条,路径覆盖数就减少一条;直到匹配边不能继续增加时,路 径覆盖数也不能再减少了,此时就有了前面的公式;但是这里只是说话了每条匹配边对应于路径覆盖中的一条路径上的一条连接两个点之间的有向边;下面来说明一 个路径覆盖中的每条连接两个顶点之间的有向边对应于一条匹配边;
与前面类似,对于路径覆盖中的每条连接两个顶点之间的每条有向边 pi--->pj,我们可以在匹配图中对应做一条连接pi'与pj''的边,显然这样做出来图的是一个匹配图(这一点用反证法很容易证明,如果得到 的图不是一个匹配图,那么这个图中必定存在这样两条边 pi'---pj'' 及 pi' ----pk'',(j!=k),那么在路径覆盖图中就存在了两条边pi-->pj, pi--->pk ,那边从pi出发的路径就不止一条了,这与路径覆盖图是矛盾的;还有另外一种情况就是存在pi'---pj'',pk'---pj'',这种情况也类似可证);
至此,就说明了匹配边与路径覆盖图中连接两顶点之间边的一一对应关系,那么也就说明了前面的公式成立!
(摘自:http://www.cppblog.com/SHFACM/archive/2009/02/05/73050.html)
下面的几道题都是这类题目,可以练练手:
zoj 1364 || poj 1325
zoj 1525 || poj 1422
node 2:最小点覆盖
二分图中,选取最少的点数,使这些点和所有的边都有关联(把所有的边的覆盖),叫做最小点覆盖。
最小点覆盖数 = 最大匹配数
证明:http://hi.baidu.com/keeponac/blog/item/1764bec86f820f8dc91768b7.html
node 3:最大独立点集
转载于:https://www.cnblogs.com/gongxijun/p/3928021.html
最小路径覆盖,最小点覆盖,最大独立点集(转)相关推荐
- 【每日算法】【图论】【最小边覆盖 最小路径覆盖 最小顶点覆盖 最大独立集 最大团】
最小边覆盖 = 最大独立集 = |V| - 最大匹配数 这个是在原图是二分图上进行的 最小路径覆盖和最小边覆盖不同,不要求给的图是二分图,而是要求是N x N的有向图,不能有环,然后根据原图构造二分图 ...
- 二分图大讲堂——彻底搞定最大匹配数(最小覆盖数)、最大独立数、最小路径覆盖、带权最优匹配
二分图匹配 二分图大讲堂--彻底搞定最大匹配数(最小覆盖数).最大独立数.最小路径覆盖.带权最优匹配(转) 文本内容框架: §1图论点.边集和二分图的相关概念和性质 §2二分图最大匹配求解 匈牙利算法 ...
- 最大匹配、最小顶点覆盖、最大独立集、最小路径覆盖(转)
在讲述这两个算法之前,首先有几个概念需要明白: 二分图: 二分图又称二部图,是图论中的一种特殊模型.设G=(V,E)是一个无向图,如果顶点V可以分割为两个互不相交的子集(A,B),并且图中的每条边( ...
- 二分图专题系列各大知识点总结(匈牙利,染色法,最大独立集,最小点覆盖,最小路径覆盖)
本文概论 二分图的判断方法:图中不存在奇数环----->染色法判断二分图不存在矛盾 二分图: 设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i, ...
- HDU - 1151 Air Raid(最小路径覆盖-二分图最大匹配)
题目链接:点击查看 题目大意:给出一个有向图,现在需要在不同的地方空降伞兵,保证所有伞兵沿着道路可以走完所有城市,求出最少伞兵的数量 题目分析:我们的目的是要用最少的路径覆盖所有顶点,换句话说就是二分 ...
- The King’s Problem(tarjan求强连通分量缩点+匈牙利求有向无环图的最小路径覆盖)
Link:http://acm.hdu.edu.cn/showproblem.php?pid=3861 The King's Problem Time Limit: 2000/1000 MS (Jav ...
- POJ 2594 Treasure Exploration (可相交最小路径覆盖)
题意 给你张无环有向图,问至少多少条路径能够覆盖该图的所有顶点--并且,这些路径可以有交叉. 思路 不是裸的最小路径覆盖,正常的最小路径覆盖中两个人走的路径不能有重复的点,而本题可以重复. 当然我们仍 ...
- POJ 1422 Air Raid (最小路径覆盖)
题意 给定一个有向图,在这个图上的某些点上放伞兵,可以使伞兵可以走到图上所有的点.且每个点只被一个伞兵走一次.问至少放多少伞兵. 思路 裸的最小路径覆盖. °最小路径覆盖 [路径覆盖]在一个有向图G( ...
- (hdu step 6.3.3)Air Raid(最小路径覆盖:求用最少边把全部的顶点都覆盖)
题目: Air Raid Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...
最新文章
- oracle 分区表的建立方法
- [Recompose] Pass a React Prop to a Stream in RxJS
- vue.js的一些事件绑定和表单数据双向绑定
- python项目部署nginx_详解使用Nginx和uWSGI配置Python的web项目的方法
- php get验证,PHP+Ajax简单get验证操作示例
- 《从零开始学习jQuery》及《jQuery风暴》学习笔记
- pc端字体大小自适应几种方法
- 2022跨年烟花代码(五)HTML5全屏烟花特效
- 桌面太单调?一起用Python做个自定义动态壁纸,竟然还可以放视频!
- 测试页能打印 软件不能打,打印机可以打印测试页不能打印文档怎么处理
- BIOS设置图解教程 BIOS设置图解教程之AMI篇
- 地磁计HMC5883L
- AWS SAA 认证考试心得
- 我,是如何度过人生最艰难的时刻的
- 100部5星国外经典电影
- Makefile的常见错误信息
- 数控计算机实习小结,数控机床实习心得体会
- 校验时间段是否与已有时间段存在交叉算法
- TEE系列之GP规范TEE API浅析
- Elasticsearch(022):es常见的字段映射类型之地理形状类型(geo_shape、多边的复杂的地址形状)
热门文章
- java中添加背景_java中如何增加背景图片
- 2014年二级c语言,2014年计算机二级考试C语言选择题
- c语言 系统 dome,订餐系统(Dome)
- linux进程监控自动重启,Linux监控进程,进程关闭自动重启方案
- 语言中要输出表格_C语言 | 表格输出若干人的信息
- contract forward,菜鸟请教一个问题:the difference between forward contract and future contract...
- android订阅管理,RXJAVA取消订阅封装-kotlin-Android
- Html百分比设宽偏差大,前端开发之移动端适配详细讲解
- Spring Boot Data JPA
- 考研规划计算机科学与技术,2021考研:计算机科学与技术研究方向及冲刺复习规划...