揹包問題(動態規劃)

2021-10-04 23:08:14 字數 799 閱讀 5551

問題描述:

給定n種物品和一揹包。物品i的重量是wi,其價值為vi,揹包的容量為c。問應如何選擇裝入揹包的物品,使得裝入揹包中物品的總價值最大?

例如:5個物品,揹包容量:10 ;重量:2, 2, 6, 5, 4;價值:6, 3, 5, 4, 6

name

weight

value 0

1 23 4

5 67 8

9 10

a 26 15

b 23 0

0 33 6

6 99 9

10 11

c 65 0

0 00 6

6 66 6

10 11

d 54 0

0 00 6

6 66 6

10 10

e 46 0

0 00 6

6 66 6

6 6函式表示:

泛型程式設計**:

template void knapsack(type *v, int *w, int c, int n, type **m)

構造最優解:

template void traceback(type **m, int *w, int c, int n, int *x)

int main()

int main()

}

動態規劃 揹包問題

給定n個物品,重量是,價值是,包的容量 承重 是w 問,放入哪些物品能使得包內價值最大 1 需要將問題轉化為子問題,通過遞迴實現,且子問題必然與父問題存在關聯 2 定義v i,j 表示為,當item取自前i個items且揹包capacity j 時,揹包問題的最優解,也即最高的價值。3 從前i個it...

動態規劃 揹包問題

不廢話,直接上 動態規劃,揹包問題。輸入為 int n 物品的種類數。int n weight 各件物品的重量。int n value 各種物品的價值。int w 揹包最大的裝載重量。輸出 v n b 的值,最大的裝載價值。x n 各類物品的裝載數量。author huangyongye publi...

動態規劃 揹包問題

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