题意:给出 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就不用再增广了,因为此时有亏损了。建图如下。