最小路径覆盖
2010-08-20 20:01
225 查看
最小路径覆盖
在一个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'',这种情况也类似可证); 至此,就说明了匹配边与路径覆盖图中连接两顶点之间边的一一对应关系,那么也就说明了前面的公式成立!相关文章推荐
- TOJ---1023---最小路径覆盖---
- 二分图大讲堂——彻底搞定最大匹配数(最小覆盖数)、最大独立数、最小路径覆盖、带权最优匹配
- 网络流四·最小路径覆盖 HihoCoder - 13 4000 94
- Poj 1548 Robots【最小路径覆盖---二分匹配】
- POJ 1422 二分匹配 最小路径覆盖(邻接表实现)
- 4000 POJ 1548 Robots(DAG最小路径覆盖)
- POJ-1422 Air Raid 最小路径覆盖
- hdu1350Taxi Cab Scheme (最小路径覆盖)
- poj1422 Air Raid 二分匹配之最小路径覆盖
- nefu486魔术球问题【有向无环图最小路径覆盖】
- 网络流24题(03)最小路径覆盖问题(二分图匹配 + 最大流)
- POJ 1548 (二分图+最小路径覆盖)
- poj2594-Treasure Exploration(最小路径覆盖,最大匹配,floyed(优化))
- 【网络流】最小路径覆盖问题
- hdu 1151 Air Raid 最小路径覆盖(最大匹配)
- 关于最大匹配,最小点覆盖,最少路径覆盖和最大独立集的总结
- poj 2594-flody + 最小路径覆盖
- POJ 3216 Repairing Company (floyd + 最小路径覆盖)
- 分析打开hdu 3335 (最小路径覆盖)
- POJ-3216-Repairing Company(最小路径覆盖)