题目描述:
《哈利波特》系列书共5卷,用0,1,2,3,4表示,每一卷单独销售价格为8欧元,假设采取以下折扣:
本数 折扣
2 5%
3 10%
4 20%
5 25%
其中一本书只能对应一个折扣,即买两本卷一不能享受5%的优惠。
分析:
1、动态规划法:
设F{Y1,Y2,Y3,Y4,Y5}其中Y1>=Y2>=Y3…因为每一卷书价格相等,所以Y1、Y2…只是表示买这5种书的个数
则状态转移方程为:
F{Y1,Y2,Y3,Y4,Y5}=
=0 (Y1=Y2=Y3=Y4=Y5=0)
=min{
5*8*(1-25%)+F{Y1-1,Y2-1,Y3-1,Y4-1,Y5-1}, if(Y5>=1)
4*8*(1-20%)+F{Y1-1,Y2-1,Y3-1,Y4-1,Y5}, if(Y4>=1)
3*8*(1-10%)+F{Y1-1,Y2-1,Y3-1,Y4,Y5}, if(Y3>=1)
2*8*(1-5%)+F{Y1-1,Y2-1,Y3,Y4,Y5}, if(Y2>=1)
8+F{Y1-1,Y2,Y3,Y4,Y5}, if(Y1>=1)
}
其中对任一F{a,b,c,d,e}均有a>=b>=c>=d>=e
整个动态规划耗费的空间:O(Y1*Y2*Y3*Y4*Y5)
时间复杂度:O(Y1*Y2*Y3*Y4*Y5)