鑑於很多揹包模板寫的自己覺得不太習慣,封裝成了函式並且標註了使用方法
#includeusing namespace std;
int dp[1005];
int w[1005], v[1005];//w表示物品重量, v表示物品價值
int c[1005];// c表示多重揹包每件物品的個數
int m,n; //m表示揹包容量, n表示物品種類
void zeroonepack(int cost, int weight)
void completepack(int cost, int weight)
void multipack(int cost, int weight, int num)
int k = 1;
//二進位制拆分多重揹包
while(k < num)
zeroonepack(num*cost, num*weight);
}int main()
}
DP 多重揹包問題模板
小明手裡有n元錢全部用來買書,書的 為10元,20元,50元,100元。問小明有多少種買書方案?每種書可購買多本 輸入格式 乙個整數 n,代表總共錢數。輸出格式 乙個整數,代表選擇方案種數。資料範圍 0 n 10000 n 1000 輸入樣例1 20輸出樣例1 2輸入樣例2 15輸出樣例2 0輸入樣...
揹包 DP 揹包
揹包 題目 是dp中較為常見的題目 分為 0 1 揹包 完全揹包 和多重揹包 這三類 是越來越深入的首先來介紹一下 0 1揹包 首先 0 1 揹包的含義是 給你乙個容量位m的揹包 然後給你n個物品 每個物品具有一定價值和一定重量 會站一定的揹包空間 答案是在n個物品中那幾個 然後使得到的價值最大 首...
01揹包模板 完全揹包 and 多重揹包(模板)
模版就直接貼 01揹包模板 cpp view plain copy print?01揹包問題 01揹包問題的特點是,每種物品僅有一件,可以選擇放或不放。01揹包問題描述 有n件物品和乙個容量為v的揹包。第i件物品的重量是c i 價值是w i 求解將哪些物品裝入揹包可使這些物品的重量總和不超過揹包容量...