当前位置: 首页> 游戏> 评测 > 网上购物商城er图_四川建设网官网住房和城乡厅_热搜榜百度一下你就知道_360手机优化大师下载

网上购物商城er图_四川建设网官网住房和城乡厅_热搜榜百度一下你就知道_360手机优化大师下载

时间:2025/7/12 6:22:57来源:https://blog.csdn.net/Garvin_/article/details/147483106 浏览次数:0次
网上购物商城er图_四川建设网官网住房和城乡厅_热搜榜百度一下你就知道_360手机优化大师下载

1.0-1背包:

经典问题(最大价值):

        二维数组:

// 先遍历物品,再遍历背包。遍历顺序可以交换。
for(int i = 1;i < kinds;i++){for(int j = 0;j <= bagweight;j++){if(weight[i] > j) dp[i][j] = dp[i-1][j];else dp[i][j] = max(dp[i-1][j],dp[i-1][j-weight[i]]+value[i]);}
}

        滚动数组:

// 先遍历物品,再遍历背包,而且背包得倒着遍历,顺序不能变
for(int i = 0;i < kinds;i++){for(int j = bagweight;j <= weight[i];j--){dp[j] = max(dp[j],dp[j-weight[i]+value[i]]);}
}

方案问题(怎么把背包装满):

// 初始化
vector<int> dp (bagweight+1,0);
dp[0][0] = 1;
if(nums[0] <= bagweight) dp[0][nums[0]] = 1;// 先遍历物品再遍历背包
for(int i = 1;i < kinds;i++){for(int j = 0;j <= bagweight;j++){if(j < nums[i]) dp[i][j] = dp[i-1][j];else dp[i][j] = dp[i-1][j]+dp[i-1][j-nums[i]];}
}

2.完全背包:

经典问题(最大价值):

// 遍历顺序:二者皆可
for(int i = 1;i < kinds;i++){for(int j = 0;j < bagweight;j++){if(j < weight[i]) dp[i][j] = dp[i-1][j];else dp[i][j] = max(dp[i-1][j],dp[i][j-weight[i]]+value[i]);}
}

方案问题:

        二维数组:

// dp初始化
for(int j = 0;j < bagweights;j++){if(j % weight[0] == 0) dp[0][j] = 1;
}
for(int i = 0;i < kinds;i++){dp[i][0] = 1;
}// 遍历顺序都可以
for(int i = 1;i < kinds;i++){for(int j = 1;j <= weights;j++){if(j < nums[i]) dp[i][j] = dp[i-1][j];else dp[i][j] = dp[i-1][j] + dp[i-1][j-nums[i]];}
}

        滚动数组:

// dp初始化
dp[0] = 1;// 遍历顺序:先遍历物品再遍历背包
for(int i = 0;i < kinds;i++){for(int j = nums[i];j <= bagweight;j++){if(dp[j]+dp[j-nums[i]] <= INT_MAX) dp[j] += dp[j-nums[i]];}
}

关键字:网上购物商城er图_四川建设网官网住房和城乡厅_热搜榜百度一下你就知道_360手机优化大师下载

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: