JZ初中OJ 2267 寶物篩選

2022-05-26 11:36:10 字數 1183 閱讀 4998

時間限制: 1000 ms  空間限制: 60000 kb  具體限制  

題目描述

終於,破解了千年的難題。小 ff 找到了王室的寶物室,裡面堆滿了無數價值連城的寶物……這下小 ff 可發財了,嘎嘎。但是這裡的寶物實在是太多了,小ff 的採集車似乎裝不下那麼多寶物。 看來小 ff 只能含淚捨棄其中的一部分寶物了……小ff 對洞穴裡的寶物進行了整理,他發現每樣寶物都有一件或者多件。他粗略估算了下每樣寶物的價值,之後開始   了寶物篩選工作:

小 ff 有乙個最大載重為 w 的採集車, 洞穴裡總共有 n 種寶物的,每種寶物的價值為v [i], 重量為 w[i], 每種寶物有 m[i]件。 小 ff 希望在採集車不超載的前提下,選擇一些寶物裝進採集車,使得它們的價值和最大。

輸入第一行為 2 整數 n 和 w,分別表示寶物種數和採集車的最大載重。

接下來 n 行每行三個整數, 其中第 i 行第乙個數表示第 i 類品價值, 第二個整數表示一件該類物品的重量, 第三個整數為該類物品數量。

輸出輸出僅乙個整數ans, 表示在採集車不超載的情況下收集的寶物的最大價值。

樣例輸入

4 20

3 9 3

5 9 1

9 4 2

8 1 3

樣例輸出

47

資料範圍限制

對於 30%的資料: n <=  ∑m[i] <= 10^4; 0 <= w <=10^3.

對於 100%的資料: n <= ∑m[i] <=10^5; 0<= w <=4 * 10^4;

1 <= n <= 100.

1 #include2

using

namespace

std;

3int v[4*10005],w[4*10005];4

int f[4*10005];5

intn,m,nl;

6int

main()

722 v[++nl]=x*s;

23 w[nl]=y*s;24}

25for(int i=1;i<=nl;i++)

26for(int j=m;j>=v[i];j--)

27 f[j]=max(f[j],f[j-v[i]]+w[i]);

28 cout<29 }

JZ初中OJ 1564 GDKOI 旅遊

時間限制 1000 ms 空間限制 262144 kb 具體限制 題目描述 輸入n個數,從中選擇一些出來計算出總和,問有多少種選法使得和為質數。輸入第一行乙個整數n。第二行n個整數,表示這n個數的值。輸出乙個整數,表示方案數。樣例輸入 4 1 1 2 7 樣例輸出 5 資料範圍限制 提示 樣例解釋 ...

JZ初中OJ 1087 約數和1

時間限制 3000 ms 空間限制 65536 kb 具體限制 題目描述 給你乙個數n,需要你算出這個數所有約數的和。n的約數指能整除n的正整數 例如12的約數有1,2,3,4,6,12。所以約數和為1 2 3 4 6 12 28 輸入本題有多組資料,第一行乙個t t小於等於1000 表示有t組資料...

JZ初中OJ 1567 GDKOI 簡單題

時間限制 1000 ms 空間限制 262144 kb 具體限制 題目描述 給你n個整數a1,a2,an,你可以進行兩種操作 一種把一給定區間的每個數是增加乙個值 另一種是計算某一給定區間的數字的和。輸入第一行包含兩個整數n和q.1 n,q 100000 第二行包含n個整數,是a1,a2,an的初始...