免费制作二维码的网站,tk域名注册官网,镇江优化推广,廊坊网站关键词优化定义 dp[j]是从物品0到i中挑选物品#xff0c;放进容量为j的背包中的最大价值总和。
初始化
int dp[maxn];
memset(dp, sizeof(dp), -0x3f3f3f3f);一维滚动数组法
for(int i 0; i weight.size(); i)for(int j bag_size; j 0; j--){if(j weight[i])dp[j] …定义 dp[j]是从物品0到i中挑选物品放进容量为j的背包中的最大价值总和。
初始化
int dp[maxn];
memset(dp, sizeof(dp), -0x3f3f3f3f);一维滚动数组法
for(int i 0; i weight.size(); i)for(int j bag_size; j 0; j--){if(j weight[i])dp[j] dp[j-1];else dp[j] max(dp[j], dp[j-weight[i]]values[i]);}输出
return dp[bag_size]