bzoj1797 最小割唯一性问题

24 篇文章 0 订阅
2 篇文章 0 订阅

题目大意

有两问:
  1. 判断一条边是否可以在最小割中;
  2. 判断一条边是否一定在最小割中.

做法:

首先做一遍最大流得到残量网络.


第一问

对于第一问,我们设这条边为 (u,v)

则残量网络上从 s u连一条流量为 + 的边,从 v t连一条流量为 + 的边,可以保证 u 被划到s集, v 被划到t集.

如果在残量网络上 u v有路径,则存在一条 s u v t的路径,出现了增广路,最小割会增加,所以残量网络上 u v没有路径.

首先可以得到 (u,v) 必须满流,不然 u,v 可以直接通过这条边连接.

其次如果 u,v 之间有别的路径可以连通,则 u v u (因为(u,v)满流,所以有 (v,u) 的反向弧)在同一个强连通分量中.

所以我们只需要对残量网络tarjan缩点,首先判断 (u,v) 是否满流,如果满流则判断是否在同一个强连通分量中,如果不在同一个强连通分量中则 (u,v) 可以在最小割中.


第二问

对于第二问,我们也设这条边为 (u,v)

我们寻找 u,v 的性质.

因为 u 一定会被划到s集,所以 s 在残量网络上一定可以到达u
因为如果 s 不能到达u,则可以从 u 连一条流量为+的边到 t ,不会出现增广路,最小割不会改变,则u可以被划到 t 集中,出现了矛盾.

由根据第一问,(u,v)可以出现在最小割中则 (u,v) 一定满流,所以 s u一定有一条増广过的路,所以一定有一条 u s的由反向弧构成的路,而 s 能到达u,所以 s,u 在同一个强连通分量中.

同理, v,t 在同一个强连通分量中.


综上所述,

对于第一问,我们找到一条满流的边,判断它的两端是否不在同一个强连通分量中即可.

对于第二问,我们找到一条满流的边,判断是否分别在 s 所在的强连通分量,t所在的强连通分量之中即可.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值