NYOJ又見01揹包

2021-08-07 02:25:06 字數 732 閱讀 7545

描述

有n個重量和價值分別為wi 和 vi 的 物品,從這些物品中選擇總重量不超過 w 

的物品,求所有挑選方案中物品價值總和的最大值。

1 <= n <=100

1 <= wi <= 10^7

1 <= vi <= 100

1 <= w <= 10^9 輸入

多組測試資料。

每組測試資料第一行輸入,n 和 w ,接下來有n行,每行輸入兩個數,代表第i個物品的wi 和 vi。

輸出滿足題意的最大價值,每組測試資料佔一行。

樣例輸入

4 5

2 31 2

3 42 2

樣例輸出

7思路:由於重量的範圍太大,所以我們可以換個思路,求價值為n時需要的最小重量

#include#include#includeusing namespace std;

#define max 1<<30

int dp[10010];

struct fin

p[105];

int main()

for(i=0;i<=sum;i++)

dp[i]=max;

dp[0]=0;

for(i=1;i<=n;i++)

}for(i=sum;i>=0;i--)

}}

return 0;

}

nyoj 860 又見01揹包(01 揹包)

又見01揹包 時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 有n個重量和價值分別為wi 和 vi 的 物品,從這些物品中選擇總重量不超過 w 的物品,求所有挑選方案中物品價值總和的最大值。1 n 100 1 wi 10 7 1 vi 100 1 w 10 9 輸入 多組測試...

nyoj 860 又見01揹包 01 揹包變形

時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 有n個重量和價值分別為wi 和 vi 的 物品,從這些物品中選擇總重量不超過 w 的物品,求所有挑選方案中物品價值總和的最大值。1 n 100 1 wi 10 7 1 vi 100 1 w 10 9 輸入多組測試資料。每組測試資...

NYOJ 860 又見01揹包(01揹包變形)

題目鏈結 題目描述 有n個重量和價值分別為wi 和 vi 的 物品,從這些物品中選擇總重量不超過 w 的物品,求所有挑選方案中物品價值總和的最大值。1 n 100 1 wi 10 7 1 vi 100 1 w 10 9 輸入多組測試資料。每組測試資料第一行輸入,n 和 w 接下來有n行,每行輸入兩個...