洛谷 P4452 [国家集训队]航班安排 最小费用最大流 Dinic+Spfa 最大收益(边dis值存负)转化为最小费用

该博客介绍了如何利用Dinic算法结合SPFA解决洛谷P4452问题,即在航班安排中求解最小费用实现最大收益。通过拆点建图,并考虑时间限制和飞机数量,将最大收益问题转化为最小费用最大流问题。文章提供了详细的思路解析和样例图解。
摘要由CSDN通过智能技术生成

题目链接:

https://www.luogu.com.cn/problem/P4452

思路来源博客:

https://www.luogu.com.cn/blog/lxy-tql/solution-p4452

算法:1:最小费用最大流 Dinic+Spfa 最大收益(边dis值存负)转化为最小费用

思路:

1:以请求为点进行建图,对每个请求进行拆点,拆点后两个点之间连价值为 c ,流量为 1 的边,代表着一个请求只能执行一次

2:然后我们考虑时间限制:对于一个请求,如果 0时刻可以从 0机场飞到该请求的起点机场,那么源点向该请求连价值为( − 飞行费用),流量为inf的边,同理,若一个请求的结束时间,加上它的结束机场飞回 0 的时间小于等于总的时间限制,该请求向汇点连边

3:但是每次执行完一个请求并未规定一定要飞回 0 机场,也可以飞去其他请求的起点机场,所以两两枚举请求,如果满足时间条件也进行连边

4:最后考虑有 k架飞机,所以再建一个源点,向原来的源点连费用为 0 ,流量为 k的边即可,最后跑最大费用最大流

样例图解:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值