完全揹包(裝滿)模板

2021-07-31 13:44:56 字數 853 閱讀 6240

時間限制:

3000 ms  |  記憶體限制:

65535 kb

難度:4 描述

直接說題意,完全揹包定義有n種物品和乙個容量為v的揹包,每種物品都有無限件可用。

第i種物品的體積是c,價值是w。求解將哪些物品裝入揹包可使這些物品的體積總和不超過揹包容量,且價值總和最大。本題要求是揹包恰好裝滿揹包時,求出最大價值總和是多少。如果不能恰好裝滿揹包,輸出no

輸入

第一行: n 表示有多少組測試資料(n<7)。 

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

對應每組測試資料輸出結果(如果能恰好裝滿揹包,輸出裝滿揹包時揹包內物品的最大價值總和。 如果不能恰好裝滿揹包,輸出no)

樣例輸入

2

1 52 2

2 52 2

5 1

樣例輸出

no

#include #include #includeint main ( )

{ int t;

scanf("%d",&t);

while(t--)

{int m,v,c[2001],w[20001],dp[50001],i,j;

// for(i=0;i<50001;i++)

// dp[i]=-0x3f3f3f3f;

memset(dp,-0x3f3f3f3f,sizeof(dp));

//printf("%d\n",dp[1]);

dp[0]=0;//不裝是為0

scanf("%d%d",&m,&v);

for(i=0; i

NYOJ 題目311 完全揹包(完全揹包,裝滿)

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

soj 3300 揹包裝滿(完全揹包)

soj3300 stockholm coins 簡介題意 有n種硬幣,取錢,取多少才能把所有硬幣種類都取齊,即,每種至少取一枚的最少取得錢數是多少。分析 如果說把所有種類錢幣都取出來的最小值,那不就是所有幣種幣值之和嗎?題目中也沒說有其他面額的錢呀,或者紙幣啥的?所以預設滿足題意輸出sum就行了。然...

01揹包中揹包裝滿和不裝滿

揹包 有n 種不同的物品,每個物品有兩個屬性,v體積,c價值,現在給乙個體積為 m 的揹包,問 最多可帶走多少價值的物品。狀態轉移方程 dp i j max dp i 1 j dp i 1 j v i c i dp i 1 j 表示不放第i件物品的最大價值,dp i 1 j v i c i 表示放第...