0-1揹包:
題目描述見:
**:
// beibao_01揹包.cpp : 定義控制台應用程式的入口點。
//#include "stdafx.h"
#include #include using namespace std;
const int nn = 1010;
int v[nn], w[nn];
int f[nn][nn] = ;
int main()
for (int i = 1; i <= n;i++)
cout << f[i][j] << " ";
}cout << endl;
} }return 0;
}
執行結果:
前面5行是輸入,後面輸出的f[n][n]矩陣。
01揹包優化,優化空間複雜度:
#include #include #include using namespace std;
const int nn = 1010;
int v[nn], w[nn];
int f[nn][nn] = ;
int mf[nn] = ;
int main()
for (int i = 1; i <= n; i++)
cout << mf[j] << " ";
}cout << endl;
} cout << mf[v] << endl;
} return 0;
}
執行結果:
揹包問題(揹包九講) 學習筆記
學習了dd大佬的揹包九講之後,個人的一些學習筆記以及一些看法。dp i j 表示前i個物品,容量為j的時候,最大的價值 思路 將前i件物品放入容量為v的揹包中求最大價值這個問題,若只考慮第i件物品的策略 放或不放 那麼問題就可以轉換成涉及前i 1的物品的問題。此時有兩種情況,1 不放第i件物品,那麼...
揹包九講學習筆記(2)
寫在前面 一方面學習揹包九講 這個十分清晰,重點標記清楚。但有些需要自己理解的和重點的,我做了如下筆記,方便別人理解,也方便自己複習,如有錯誤,歡迎指正。題目特點1.n種物品v容量,每種物品費用c i 價值w i 2.每種物品無限件 3.要求 費用和不超過揹包容量且價值總和最小簡單思路 基本思路 從...
揹包九講 學習筆記(一)
本文是針對揹包九講2.0的學習筆記。給定n個物體和乙個揹包,物品i的重量是wi,價值vi,揹包容量為c,物品只能選擇不裝或裝入揹包,問如何選擇裝入揹包的物品,使裝入揹包中的物品的總價值最大?輸入 c 0,wi 0,vi 0,1 i n 輸出 x 1,x2,xn x i in 滿足 sum w i x...