模板練習 混合揹包

2021-07-25 09:16:00 字數 538 閱讀 4352

這次練習的是揹包模板

根據三種情況分別處理

把多重揹包轉換成01揹包處理

一開始寫的時候

思路偏了

把多重揹包

分成了1×w[i],2×w[i]……p[i]×w[i]

這樣的情況

然後再當01揹包來寫的

結果不用多說了

改回來的時候又忘了改變量名

感覺自己宛如乙個智障

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

int m,n,i,j,k,w[40],wd[300],c[40],cd[300],p[40],f[300];

int main()}}

printf("%d",f[m]);

return

0;}

混合揹包(模板)

額,鑑於寫的文章太少,本來這一篇可以加在一起原來的揹包彙總中,但是,那樣太長啦,就分開寫一下 順便加一點原創量,我太卑微啦 想看一下其他的揹包板子戳一戳 揹包彙總 ok,進入正題 所謂混合揹包就是,題目中的物品既有限定數目的物品,也有可以無限次使用的物品,揹包的體積還是定值,這就需要我們,分開討論一...

混合揹包問題 模板

第二天叫醒我的不是鬧鐘,是夢想!有 n 種物品和乙個容量是 v 的揹包。物品一共有三類 第一類物品只能用1次 01揹包 第二類物品可以用無限次 完全揹包 第三類物品最多只能用 si 次 多重揹包 每種體積是 vi,價值是 wi。求解將哪些物品裝入揹包,可使物品體積總和不超過揹包容量,且價值總和最大。...

揹包模板(01 多重 混合)

01揹包 需要注意的是 j 的迴圈為從大到小 include using namespace std const int n 10010 int f n int v n w n v n 表示價值,w n 表示體積或者重量 intmain for int i 0 icout 多重揹包 一般轉換成01揹...