在01背包问题中的那个公式请详细解释一下!要比赛了!多谢拉!

来源:百度知道 编辑:UC知道 时间:2024/05/26 14:32:06

一维的吗?
二维的:
f[I,j]=max{f[i-1,j],f[i-1,j-Wi]+Vi}
前i个货物,用j的重量去装。
f[i-1,j]表示不放第i个货物。
f[i-1,j-wi]+vi表示放第i个货物,加上前用j-wi 的重量去装i-1个货物,和vi第i个货物的价值。
一维的:
f[i]=max(f[i],f[i-wj]+vj);
用j个重量去装第j个货物的选择。装为:f[i-wj]+vj 不装为:
f[i];保持不变