完全揹包
有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。求解將哪些物品裝入揹包可使這些物品的體積總和不超過揹包容量,且價值總和最大。本題要求是揹包 恰好裝滿揹包時,求出最...