《揹包9講》學習

2021-10-03 09:22:05 字數 938 閱讀 5696

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...