在上一篇《9.動態(tài)規(guī)劃(2)——子集和問題》中,談到了什么是子集和問題,以及實現(xiàn)。背包問題實際也是子集和問題的一種,不過背包問題不是“判斷問題”而是一個“最優(yōu)問題”。而背包問題實際上又分為“0-1背包”,“完全背包”,本文對“0-1背包”進(jìn)行講解。
問題:有n個物品,每個物品的重量為weigh[i],每個物品所對應(yīng)的價值為price[i],現(xiàn)在有一個背包,背包所能承受的重量為W,問背包能裝下的物品總價值最大是多少?
定義s[i, j]表示前i個物品的總價值,j為背包的承重量。當(dāng)j = W或者最接近于W且小于W時,此時就是問題的解。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26
