讨论 / 二维费用背包问题
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);

查看更多回复
提交回复