首页 > 其他 > 详细

[JZOJ P1327] [DP]订货

时间:2017-01-20 19:20:49      阅读:213      评论:0      收藏:0      [点我收藏+]

 

啊这是一道省选题,怪不得我不会写,最重要的是战胜自己的内心要坚信你会写出来,恩。

用f[i][j]来表示前i个月还有j吨货的费用,就是依靠 上一月的费用+上一月的货的存费+订需要的+订(j-k)的费用

f[i][j]=min(f[i-1][k]+k*m+d[i]*(u[i]+(j-k)));  ( 0<j,k<s)  ->      f[i][j]=min(f[i-1][k]-d[i]*k+k*m)+d[i]*(u[i]+j);

由于k的范围是从0到s 而s大的不止一点,所以一步步循环就会超时,因此需要用队列来优化,跟 超级教主 相似,都是单调递减,队首为最优 之后一步步把队尾踢出去换最优

 

[JZOJ P1327] [DP]订货

原文:http://www.cnblogs.com/Kaike/p/6323447.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!