時間限制: 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 203 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 #include2using
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的初始...