动态规划 0-1背包问题 滚动数组
生活随笔
收集整理的這篇文章主要介紹了
动态规划 0-1背包问题 滚动数组
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
定義
dp[j]是從物品0到i中挑選物品,放進容量為j的背包中的最大價值總和。
初始化
int dp[maxn]; memset(dp, sizeof(dp), -0x3f3f3f3f);一維滾動數(shù)組法
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]總結
以上是生活随笔為你收集整理的动态规划 0-1背包问题 滚动数组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 动态规划 0-1背包问题 二维数组
- 下一篇: sklearn PCA特征降维