DAG的最小路径覆盖和二分图的最大匹配
来源:互联网 发布:ubuntu运行apk 编辑:程序博客网 时间:2024/06/15 12:14
转自http://www.cnblogs.com/jackiesteed/articles/2043934.html
DAG的最小路径覆盖和二分图的最大匹配
DAG的最小路径覆盖和二分图的最大匹配
DAG的最小路径覆盖是指找最小数目的互相不相交的有向路径,满足DAG的所有顶点都被覆盖.
首先给出公式:DAG的最小路径覆盖数=DAG图中的节点数-相应二分图中的最大匹配数.
那么对应一个DAG,如何构造相应的二分图?对于DAG中的一个顶点p,二分图中有两个顶点p和p',对应DAG中的一条有向边p->q,二分图中有p-q'的一条无向边.二分图中p属于S集合,p'属于T集合.
下面我们来解释上面公式为什么成立,思路参考baihacker神牛:
上图中,对应左边的DAG建立构造右边的二分图,可以找到二分图的一个最大匹配M:1-3',3-4',那么M中的这两条匹配边怎样对应DAG中的路径的边?
使二分图中一条边对应DAG中的一条有向边,1-3'对应DAG图中的有向边1->3,这样DAG中1就会有一个后继顶点(3会是1的唯一后继,因为二分图中一个顶点至多关联一条边!),所以1不会成为DAG中一条路径中的结尾顶点,同样,3-4'对应DAG中3->4,3也不会成为结尾顶点,那么原图中总共4个顶点,减去2个有后继的顶点,就剩下没有后继的顶点,即DAG路径的结尾顶点,而每个结尾顶点正好对应DAG中的一条路径,二分图中寻找最大匹配M,就是找到了对应DAG中的非路径结尾顶点的最大数目,那么DAG中顶点数-|M|就是DAG中结尾顶点的最小数目,即DAG的最小路径覆盖数.
0 0
- DAG的最小路径覆盖和二分图的最大匹配
- DAG的最小路径覆盖和二分图的最大匹配(hdu1151+hdu3861)
- DAG的最小路径覆盖和二分图的最大匹配
- DAG最小路径覆盖与二分图最大匹配
- 二分图的最大匹配(最小路径覆盖,最小点覆盖)
- 二分图最大匹配,点的最小覆盖,最小路径覆盖
- 二分图最大匹配,点的最小覆盖,最小路径覆盖
- 二分图-最大匹配,最小路径覆盖,最小点覆盖
- 彻底搞定二分图的匈牙利算法,最大匹配数(最小覆盖数)、最大独立数、最小路径覆盖
- 二分图的应用:最小覆盖,最小边覆盖,最大独立子集,最小路径覆盖
- 二分图最大匹配,最小点覆盖,最小路径覆盖,二分图最大独立集
- [最小路径覆盖、二分图最大匹配]Pku3020--Antenna Placement
- 最小路径覆盖-二分图最大匹配 poj 1422
- 最小路径覆盖(二分图最大匹配):Air Raid
- poj 2594 二分图最大匹配最小路径覆盖
- 网络流 最小路径覆盖 二分图最大匹配
- HDU 1151 二分图的DAG最小路径覆盖 解题报告
- POJ 2594 浅谈可相交的二分图DAG最小路径覆盖
- Ubuntu 12.04.4和 windows7双系统安装遇到的问题
- 内核级线程的阻塞
- NSArray去除重复元素的方法
- NYOJ--表达式求值
- 工作中的感悟 (一)初来工作之感
- DAG的最小路径覆盖和二分图的最大匹配
- notepad配色
- 解决struts/spring偶尔出现java.lang.IllegalStateException: Cannot call sendRedirect() after the response的问题
- android美图秀秀--基础
- Exception in thread "main" org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Li
- jquery把数组变为字符串传到服务端并处理
- 学习日志4.14--servlet_JSP
- Android开发中调试日志的输出方法
- ios