揹包DP 洛谷P1060 開心的金明 題解

2021-08-28 16:59:15 字數 674 閱讀 5299

又是揹包問題中大名鼎鼎的金明系列,與普通的揹包不同,這道題有了「主件」和「附件」的概念

但實際上我們並不需要單獨考慮附件,只需要在對主件進行決策的時候同時考慮取附件的情況。

那麼對於乙個主件來說,無非有四種情況:

只取主件,

取主件和乙個附件(如果存在):

取主件和第二個附件(如果存在):

取主件和兩個附件:

當然,以上條件均要滿足f下標不為負數,所以要

至此對於乙個主件,就全部考慮完了,那麼它的附件也就不用考慮了。

#include using namespace std;

struct node

} a[65];

int f[32005];

void put(int i, int j) else

}int main()

}bool ***1, ***2;

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

if (f2 && j >= (a[i].v + a[f2].v))

if (f2 && j >= (a[i].v + a[f2].v + a[f1].v)) }}

cout << f[m] << endl;

return 0;

}

洛谷P1060 開心的金明 dp

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

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

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

洛谷 P1060 開心的金明 01揹包

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