pku3084 最小割

恩,又是网络流,一个sap完事。。

发现网络流这东西确实很厉害,很多东西很多模型都需要用到它。。

题目大意:

  一堆房子,有的房子之间有门,有的房子有侵入者,有的房子没有侵入者,有一个房间需要保护。I代表没有侵入者,NI代表有侵入者,一开始的N,M代表的n个房间和m房间需要保护。NI或者I后边跟一个k,然后后边k个数表示从第i个房间可以到达这些个房间不需要钥匙,而这k个房间到达第i个房间只能到达一次或者从第i个房间过去再过来。。。

简略题解:

  仔细一看就是一个最小割。

  需要保护的房间m就是汇点,新增源点s,如果这个房间没有侵入者,那么从源点向这个点连一条流量为inf的边。对于其他的门,如果是i到j的门,那么从i连一条到j的流量为inf的边,从j到i连一条流量为1的边,这样就确保了从j到i只能进去一次或者进来再出去。

  然后就是个最大流就可以了,如果最后的答案比inf还要大,那么肯定存在一条直接通往被保护房间的路径,那么无解。否则答案就是最小割。

附程序:

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值