分組揹包 開心的金明

2021-06-20 04:37:50 字數 531 閱讀 7563

example:sicily 1346 「開心的金明」 

(1)大牛的思路分析:揹包問題,只是主件繫結了一些附件,可以轉化成分組揹包,乙個主件及其附件代表一組。

但是「分組揹包」中一組地物品互斥,所以這裡要做一次轉化:將這個集合作為一組,  這裡要慶幸最多兩個附件。

解:

for (i=1;i<=m;i++) 

else }}

}

(2)小菜的思路:典型的分組揹包,要三層迴圈,第三層是組內遍歷,由於組內最多取乙個,迴圈本身就保證了問題的正確性(組內不重複取);但是這個問題,我們不知道組內要取多少件,這是乙個「01揹包」問題,所以可以先針對「各附件集合」做一次01揹包。然後再分組揹包;實際上,分組時我們要解決的問題就是,對於乙個容量j,組i內應該取多少個——f[i][j],找到它,再做分組揹包。

解:只考慮乙個組,先在組內找最優解:f[i][j],這是乙個特殊的01揹包:取附件的話必須取主件。注意,f並不是最終的最優解,而是各組的最優解。

所以,如何解決這個特殊的"01不揹包"?

開心的金明(01揹包)

演算法訓練 開心的金明 時間限制 1.0s 記憶體限制 256.0mb 問題描述 金明今天很開心,家裡購置的新房就要領鑰匙了,新房裡有一間他自己專用的很寬敞的房間。更讓他高興的是,媽媽昨天對他說 你的房間需要購買哪些物品,怎 麼布置,你說了算,只要不超過n元錢就行 今天一早金明就開始做預算,但是他想...

揹包模型 開心的金明

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

開心的金明(01揹包)

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