BZOJ P1189[HNOI2007]紧急疏散evacuate

网络流好题

一开始以为是最小费用最大流

因为要求最小的时间,我们直接限制流量,然后加上费用然后跑最小费用最大流

但是正确的图一直建不出来

然后到网上搜了一下题解,说是二分再加最大流满流判断

先构图吧

从S到每一个' . '点连一条流量为1的点,表示为一个人

然后我们对每一扇门都进行拆点,拆除t个点(t为所需时间,二分出来的)

然后每个点向T和下一个时间的点分别连容量为1和inf的边,表示这个门可以在每个时间里出来一个人,多余的人等到下一个时间

然后我们spfa或者dfs一下,每一个人到每一扇门至少需要的时间,然后直接把这个人连向所有门的第t个点(t为所需时间)

然后二分一下至少需要的时间,跑一边最大流,判断是否满流就可以辣

然后感觉我说的并不是特别好,有疑问的在下面评论即可,我会及时作出回答

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值