洛谷 P1060 開心的金明(01揹包)

2021-08-21 17:38:11 字數 1363 閱讀 9506

金明今天很開心,家裡購置的新房就要領鑰匙了,新房裡有一間他自己專用的很寬敞的房間。更讓他高興的是,媽媽昨天對他說:「你的房間需要購買哪些物品,怎麼布置,你說了算,只要不超過 n 元錢就行」。今天一早金明就開始做預算,但是他想買的東西太多了,肯定會超過媽媽限定的 n 元。於是,他把每件物品規定了乙個重要度,分為 5 等:用整數 1−5 表示,第 5 等最重要。他還從網際網路上查到了每件物品的**(都是整數元)。他希望在不超過 n 元(可以等於 n 元)的前提下,使每件物品的**與重要度的乘積的總和最大。

請你幫助金明設計乙個滿足要求的購物單。

輸入格式:

第一行,為 22 個正整數,用乙個空格隔開: n mnm (其中 n(<30000)n(<30000) 表示總錢數, m(<25)m(<25) 為希望購買物品的個數。)

從第 22 行到第 m+1m+1 行,第 jj 行給出了編號為 j-1j−1 的物品的基本資料,每行有 22 個非負整數 v pvp (其中 vv 表示該物品的** (v \le 10000)(v≤10000) , pp 表示該物品的重要度( 1-51−5 )

輸出格式:

11 個正整數,為不超過總錢數的物品的**與重要度乘積的總和的最大值 (<100000000)(<100000000) 。

輸入樣例#1:

1000 5

800 2

400 5

300 5

400 3

200 2

輸出樣例#1:

3900
noip 2006 普及組 第二題

#pragma gcc optimize(2)

#includeusing namespace std;

#define ll long long

#define clr(a) memset(a,0,sizeof(a))

const int maxn = 1e5 + 10;

const int inf = 0x3f3f3f3f;

const int n = 10100;

const int mod = 1e9 + 7;

int n,k;

int val[maxn],im[maxn],dp[maxn];

int main()

for(int i=1;i<=k;i++)

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

}return 0;

}

洛谷 P1060 開心的金明 01揹包

題目描述 金明今天很開心,家裡購置的新房就要領鑰匙了,新房裡有一間他自己專用的很寬敞的房間。更讓他高興的是,媽媽昨天對他說 你的房間需要購買哪些物品,怎麼布置,你說了算,只要不超過 n nn 元錢就行 今天一早金明就開始做預算,但是他想買的東西太多了,肯定會超過媽媽限定的 n nn 元。於是,他把每...

洛谷 P1060 開心的金明

題目描述 金明今天很開心,家裡購置的新房就要領鑰匙了,新房裡有一間他自己專用的很寬敞的房間。更讓他高興的是,媽媽昨天對他說 你的房間需要購買哪些物品,怎麼布置,你說了算,只要不超過n元錢就行 今天一早金明就開始做預算,但是他想買的東西太多了,肯定會超過媽媽限定的n元。於是,他把每件物品規定了乙個重要...

洛谷 P1060 開心的金明

題目描述 金明今天很開心,家裡購置的新房就要領鑰匙了,新房裡有一間他自己專用的很寬敞的房間。更讓他高興的是,媽媽昨天對他說 你的房間需要購買哪些物品,怎麼布置,你說了算,只要不超過n元錢就行 今天一早金明就開始做預算,但是他想買的東西太多了,肯定會超過媽媽限定的n元。於是,他把每件物品規定了乙個重要...