最小路径覆盖问题

洛谷的提示给的很清楚了:设 $V=\{1,2,...,n\}$ ,构造网络 $G_1=\{V_1,E_1\}$ 如下:

$$V_1=\{x_0,x_1,...,x_n\}\cup\{y_0,y_1,...,y_n\}$$

$$E_1=\{(x_0,x_i):i\in V\}\cup\{(y_i,y_0):i\in V\}\cup\{(x_i,y_j):(i,j)\in E\}$$

为什么正确?

首先这是个$DAG$图,

然后根据所构造的网络流中可得:如果有流通过,说明原图中有两条链能够首尾相连,从而减少了路径条数。

所以最后的答案为$n-maxflow$。

其实最小路径覆盖=最大匹配(这个很重要)

所以也可以用匈牙利算法解决。

转载于:https://www.cnblogs.com/ac-evil/p/10367323.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值