1012 饭卡
经典01背包问题,01问题在前面的1298中已经有了详解,本题的状态转移方程为:
if(j-a[i]>=0&&dp[i-1][j]<dp[i-1][j-a[i]]) dp[i][j]=dp[i-1][j];
else dp[i][j]=j-a[i]<0 ? (dp[i-1][j]>4?dp[i-1][j]-a[i]:dp[i-1][j]) : dp[i-1][j-a[i]];
式中 i 表示第 i 种菜,j 表示未对第 i 种菜决策前所余下的钱,当然,这一切都是在j>=5时成立,当j<5时,dp[i][j]=j。
呵呵!这里给的方程太详尽了!基本就是答案了!