動態規劃-揹包九講(結合代碼)

一、01揹包

有N件物品和一個容量爲V的揹包。第i件物品的費用是c[i],價值是w[i]。求解將哪些物品裝入揹包可使這些物品的費用總和不超過揹包容量,且價值總和最大。

每種物品僅有一件,可以選擇放或不放
在這裏插入圖片描述


二、完全揹包

有N種物品和一個容量爲V的揹包,每種物品都有無限件可用。第i種物品的費用是c[i],價值是w[i]。求解將哪些物品裝入揹包可使這些物品的費用總和不超過揹包容量,且價值總和最大。

於01揹包問題,所不同的是每種物品有無限件
在這裏插入圖片描述


三、多重揹包

有N種物品和一個容量爲V的揹包。第i種物品最多有n[i]件可用,每件費用是c[i],價值是w[i]。求解將哪些物品裝入揹包可使這些物品的費用總和不超過揹包容量,且價值總和最大。

第i種物品最多有n[i]件可用
在這裏插入圖片描述
在這裏插入圖片描述


四、混合揹包

如果將前三種物品混合起來。也就是說,有的物品只可以取一次(01揹包),有的物品可以取無限次(完全揹包),有的物品可以取的次數有一個上限(多重揹包)。應該怎麼求解呢?

有的物品只可以取一次(01揹包),有的物品可以取無限次(完全揹包),有的物品可以取的次數有一個上限(多重揹包)


五、二維費用的揹包


六、分組的揹包


七、有依賴的揹包


八、泛化物品


九、揹包問題問法的變化


參考文章:

  1. dd大牛的揹包九講
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章