BZOJ1492 NOI2007 货币兑换 题解与代码
其实解决这个问题的突破口在提示:
设f[i]表示第i天全部将A,B券换成人民币的最多数目,p[i].a表示A券在第i天最多拥有的个数,p[i].b表示B券在第i天最多拥有的个数,则:
那么,对于第i天最后一次购买,它在第j天(i<j)的折合人民币就是:
于是:
因此,我们得到一个动态规划的算法,框架如下:
p[1].b=S / (A[1] * Rate[1] + B [1])
Ans=S
For i = 2 to n ← 枚举在哪一天卖出券
...
原创
2020-07-12 14:53:39 ·
359 阅读 ·
0 评论