luogu1060開心的金明

2022-09-16 23:27:21 字數 1135 閱讀 8049

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

設第j件物品的**為v[j],重要度為w[j],共選中了k件物品,編號依次為j1,j2,…,jk,則所求的總和為:

v[j1]×w[j1]+v[j2]×w[j2]+…+v[jk]×w[jk]

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

輸入格式:

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

從第2行到第m+1行,第j行給出了編號為j−1的物品的基本資料,每行有2個非負整數vp(其中v表示該物品的**(v≤10000),p表示該物品的重要度(1−5)

輸出格式:

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

01揹包

1 #include2

using

namespace

std;

3const

int maxn=1e6+5;4

const

int inf=1e9+7;5

intn,m,v[maxn],p,w[maxn],f[maxn],ans;

6 template void red(t &x)717

while(ch>='

0'&&ch<='9'

)1822 x*=w;23}

24void

input()

2528

void

read()

29 38}

39void

work()

4048

intmain()

49

view code

Luogu1060 開心的金明

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

luogu1060 開心的金明 01採藥

知道時間 t 有n 株備選藥品,知道每件物品需要 v,價值 w 求 t 時間內,能採摘的最大價值的藥 用 i 表示當前可以放進箱子的物品總數量 1 5 這是乙個 5選x 的組合問題。題目要求知道最優狀態,所以可以忽略過程 降維分析,因為只考慮物體的體積,不考慮形狀等亂七八糟的東西,用打表 用遞推的思...

開心的金明 洛谷 1060

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