码迷,mamicode.com
首页 > 其他好文 > 详细

Minimum Queue with Constant Increment

时间:2015-05-12 21:10:42      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:

There‘s a factory for cakes. Every day, the cost of producing a cake is different. The factory could produce as more as cakes in one day and the producing cost for cakes in the same day is the same. The shelf life for each cake is s days and the storage fee for each cake is t dollars. 

How to fulfill the customers‘ paying list with the minimum cost?


-----------------------------------------------------------------------------------


We could use a minimum queue to calculate the cost of day i+s as arr[i+s]. However, if we want to know arr[i+s+1], we have to refresh i+2 to i+s, i.e., we always calculates the minimum value of 

a[i+1]   +   (s-1)t

a[i+2]   +   (s-2)t

a[i+3]   +   (s-3)t

....

a[i+s]   +    0t

Actually, there is no need to refresh i+2 to i+s. Another way is to refresh a[1] to end with adding a list of nt, (n-1)t.....0t in the beginning. Then minimum queue could used later. 



Minimum Queue with Constant Increment

标签:

原文地址:http://blog.csdn.net/taoqick/article/details/45673195

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!