完全背包问题
For i:=1 to n do
for j:=1 to w do
begin
f[i,j]:=f[i-1,j]; {不取当前物品i}
for k:=1 to j/v do
if (j>=k*v) and (f[I,j]<=f[I,j-v]+a){保证放得下第i个物品,则j-v>0==>j>v==>j>=(v到j的所有数据)}
then f[I,j]:=f[I,j-v]+a;
end;
end;
01背包问题
For i:=1 to n do
for j:=0 to w do
begin
f[I,j]:=f[i-1,j]; {不取当前物品i}
if (j>=v) and (f[i-1,j-v]+a>f[I,j])
then f[I,j]:= f[i-1,j-v]+a>f[I,j]
end;