nyoj 完全揹包

2021-07-24 18:55:24 字數 712 閱讀 3007

完全揹包

有n種物品和乙個容量為v的揹包,每種物品都有無限件可用。

第i種物品的體積是c,價值是w。求解將哪些物品裝入揹包可使這些物品的體積總和不超過揹包容量,且價值總和最大。本題要求是揹包

恰好裝滿揹包時,求出最大價值總和是多少。如果不能恰好裝滿揹包,輸出no

接下來每組測試資料的第一行有兩個整數m,v。 m表示物品種類的數目,v表示揹包的總容量。(0

1 52 2

2 52 2

5 11

這裡需要乙個技巧,就是初始化時f[0],其餘的均為-max,只有這樣最大值為正時,只能通過f[0]在相加其他價值得到,如揹包體積為4時, 一種物品體積2,價值2;

則   f[0]=0; f[1]=-max; f[2]=max(f[2],f[0]+w[i])=2; 注意若揹包不需要全部裝滿時,f[3]本該為2的,但此時f[3]=max(f[3],f[1]+2)=max(f[3],2-max)=2-max=-無窮。f[4]=max(f[4],f[2]+2)=4,f[5]=max(f[5],f[3]+f[3]+2)=2-max=-無窮。以此類推。。

**:

#include#include#includeusing namespace std;

int dp[50005],w[2005],v[2005];

int main()

return 0;

}

nyoj311 完全揹包 完全揹包

完全揹包 時間限制 3500 ms 記憶體限制 65535 kb 難度 4 描述 直接說題意,完全揹包定義有n種物品和乙個容量為v的揹包,每種物品都有無限件可用。第i種物品的體積是c,價值是w。求解將哪些物品裝入揹包可使這些物品的體積總和不超過揹包容量,且價值總和最大。本題要求是揹包恰好裝滿揹包時,...

NYOJ 311 完全揹包 完全揹包模型

時間限制 3500 ms 記憶體限制 65535 kb 難度 4描述 直接說題意,完全揹包定義 有n種物品和乙個容量為v的揹包,每種物品都有無限件可用。第i種物品的體積是c,價值是w。求解將哪些物品裝入揹包可使這些物品的體積總和不超過揹包容量,且價值總和最大。本題要求是揹包 恰好裝滿揹包時,求出最大...

NYOJ 311 完全揹包 恰好裝滿完全揹包

時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 直接說題意,完全揹包定義 有n種物品和乙個容量為v的揹包,每種物品都有無限件可用。第i種物品的體積是c,價值是w。求解將哪些物品裝入揹包可使這些物品的體積總和不超過揹包容量,且價值總和最大。本題要求是揹包 恰好裝滿揹包時,求出最...