description
學生在我們usaco的競賽中的得分越多我們越高興。我們試著設計我們的競賽以便人們能盡可能的多得分。現在要進行一次競賽,總時間t固定,有若干型別可選擇的題目,每種型別題目可選入的數量不限,每種型別題目有乙個si(解答此題所得的分數)和ti(解答此題所需的時間),現要選擇若干題目,使解這些題的總時間在t以內的前提下,所得的總分最大。
輸入包括競賽的時間,m(1 <= m <= 10000)和題目型別數目n(1 <= n <= 10000)。
後面的每一行將包括兩個整數來描述一種"題型":
第乙個整數說明解決這種題目能得的分數(1 <= points <= 10000),第二整數說明解決這種題目所需的時間(1 <= minutes <= 10000)。
input
第 1 行: 兩個整數:競賽的時間m和題目型別數目n。 第 2-n+1 行: 兩個整數:每種型別題目的分數和耗時。
output
單獨的一行,在給定固定時間裡得到的最大的分數。
sample input
300 4
100 60
250 120
120 100
35 20
sample output
605
解題思路:f[j]表示前i種物品在容量為j的揹包裡的最大價值,狀態轉移方程為:這其實就是乙個完全揹包。
f[i,j]=max
(1<=i<=n,w[i]<=j<=m)
max即為所求。
時間複雜度:
o(nm)
程式:var
m,n,w,u,i,j:longint;
f:array[0..100000]of longint;
begin
readln(m,n);
for i:=1 to n do
begin
readln(w,u);
for j:=u to m do
if f[j-u]+w>f[j] then f[j]:=f[j-u]+w;
end;
for j:=1 to m do
if f[j]>f[0] then f[0]:=f[j];
writeln(f[0]);
end.
版權屬於: chris
XYNUOJ 競賽總分
時間限制 1 sec 記憶體限制 128 mb 提交 9 解決 9 提交 狀態 討論版 學生在我們usaco的競賽中的得分越多我們越高興。我們試著設計我們的競賽以便人們能盡可能的多得分,這需要你的幫助。我們可以從幾個種類中選取競賽的題目,這裡的乙個 種類 是指乙個競賽題目的集合,解決集合中的題目需要...
SSL 2305 競賽總分
description 學生在我們usaco的競賽中的得分越多我們越高興。我們試著設計我們的競賽以便人們能盡可能的多得分。現在要進行一次競賽,總時間t固定,有若干型別可選擇的題目,每種型別題目可選入的數量不限,每種型別題目有乙個si 解答此題所得的分數 和ti 解答此題所需的時間 現要選擇若干題目,...
USACO3 1 2 總分 揹包問題動態規劃
完全揹包問題。f i j 表示用前j個物品,放滿i的空間,能取得最大價值。f i j max f i a p j 1 b p j按順序用的話,陣列第二維可以壓掉。即為f i max f i a p b p executing.test 1 test ok 0.008 secs,3484 kb tes...