2. 背包模板
2.1 01背包
-
010101 背包, nnn 件物品,重量 mmm , 每件物品重量 w[i]w[i]w[i] ,价值 c[i]c[i]c[i] ,每种物品最多取 111 件
-
for(int i=1;i<=n;i++){ for(int j=m;j>=w[i];j--) f[j]=max(f[j],f[j-w[i]]+c[i]); }
2.2 完全背包
-
完全背包, nnn 件物品,重量 mmm , 每件物品重量 w[i]w[i]w[i] ,价值 c[i]c[i]c[i] ,每种物品最多取无数件
-
for(int i=1;i<=n;i++){ for(int j=w[i];j<=m;j++){ f[j]=max(f[j],f[j-w[i]