UVA 11613 Acme Corporation 拆点+不确定流量费用流

题意:给出 I 和M个月和 的以下信息:mi, ni, pi, si, Ei,表示单位生产成本,最大产量,销售单价,当月最大销量,以及最大存储时间,当Ei=1时,最多只能存储到下个月,否则报废,其中 I 表示每单位元素存储一个月花费的代价。求最大利润。

分析:将每个月建立两个点 ai,bi,从源点s连接到ai,容量为最大产量,费用为单位生产成本,从bi连接到汇点T,容量为最大销售量,费用为负的销售单价,从ai连接到bi,容量为无限大,费用为0,在不超过Ei的情况下,再连接ai到bj,容量也是无限大,费用是(j - i +1)*I,那么在求得的最小费用流后,负的费用就是最优的答案。为什么一个月要用两个点呢?因为如果只用一个点的话,假设i保存1个月,i->i+1连边,如果i+1再和i+2连边的话就变成可以保存两个月了,就不符合题意了。这是不固定流量的最小费用流,因为每次都是找最短路增加流量的,所以每次都是当前流量下最小费用,这里费用负的最小就是利润最大,增广到费用大于等于0就不用再增广了,因为此时有亏损了。建图如下。

总结:解决销售问题也可以利用费用流来建模,把产量和销售量当成流量,销售单价和成本当成费用,一般要求利润(销售量*(销售单价-成本))最大,也就是销售单价-成本最大,因为是最小费用流,所以费用取反(成本流量为正,单价流量为负),最后,最小费用流取反就是最大利润。

代码:待补。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值