寒冰王座
因为每件物品可以无限买,所以是完全背包。
三种商品重量手动赋值即可。
因为这道题求的是最大重量,所以状态转移方程改为 f[j] = max(f[j],f[j - w[i]] + w[i]) 。
#include<bits/stdc++.h> using namespace std; int w[4],t,f[10001]; int main() { scanf("%d",&t); w[1]=150;w[2] = 200;w[3] = 350; for(int i = 1;i <= 3;i ++) { for(int j = w[i];j <= t;j ++) { f[j] = max(f[j],f[j - w[i]] + w[i]); } } printf("%d",t-f[t]); return 0; }
本文来自博客园,作者:樱雪喵,转载请注明原文链接:https://www.cnblogs.com/ying-xue/p/han-bing-wang-zuo.html