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.

本文探讨了蛋糕工厂如何在一天内以最低成本满足客户订单需求的问题,通过使用最小队列来计算每日成本,并提出了刷新策略以优化成本计算。
1631

被折叠的 条评论
为什么被折叠?



