关于最小路径覆盖跟二分最大匹配

javadream11 2009-09-27 10:21:50
讲不清,在这里http://blog.chinaunix.net/u3/102624/showart.php?id=2060880

里面红色字部分。
...全文
162 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
javadream11 2009-09-28
  • 打赏
  • 举报
回复
原来是这样的,我建图的时候建的是邻接表,它本身就拆点了,就是按照那种方法做的,所以是对的。
还是队友牛啊。
baihacker 2009-09-28
  • 打赏
  • 举报
回复
因为覆盖中每条简单路径除了最后一个结点之外都有唯一的后继与之对应.
所以对应到匹配,就是非路径尾的结点数,所以匹配边数就是非路径结尾的点数.

1->2->3
对应到图里就是
1->2'
2->3'
3-??
所以总点数减去匹配了的两个,就是剩下的,表示路径尾的数目.
swandragon 2009-09-28
  • 打赏
  • 举报
回复
不懂,学习下
FancyMouse 2009-09-27
  • 打赏
  • 举报
回复
拆点构造新图是图论题基本技巧,说乱七八糟是自己火候未到
yutao_7871 2009-09-27
  • 打赏
  • 举报
回复
学习了,很好的
javadream11 2009-09-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fancymouse 的回复:]
初始状态:n条路径每条路径只包含一个点。
在新图里有一个匹配:可以把两条路径头尾接起来。
于是最大匹配 <=>最少路径

注意只能用在DAG上
[/Quote]

不懂。
“然后拆点,i拆成Xi,Ji,i->j有边,新图里建Xi->Yj” 这很么乱七八糟的?
FancyMouse 2009-09-27
  • 打赏
  • 举报
回复
初始状态:n条路径每条路径只包含一个点。
然后拆点,i拆成Xi,Ji,i->j有边,新图里建Xi->Yj
在新图里有一个匹配:可以把两条路径头尾接起来。
于是最大匹配<=>最少路径

注意只能用在DAG上

33,028

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧