Sky_miner 2016-05-23 00:53:38
点我顶贴
收藏
删除
开一个二维数组f[][],记录f[rmb][rp]下的MM个数
再开一个二维数组s[][],记录在f[rmb][rp]取得最优情况下的花费的时间
所以,就有了递推方程
if(f[i][j] < f[i-G[k].rmb][j-G[k].rp]+1){
f[i][j] = f[i-G[k].rmb][j-G[k].rp]+1;
s[i][j] = s[i-G[k].rmb][j-G[k].rp]+G[k].ti;//G[i].ti即为时间
}else if(f[i][j] == f[i-G[k].rmb][j-G[k].rp]+1)
s[i][j]=cat_min(s[i][j],s[i-G[k].rmb][j-G[k].rp]+G[k].ti);