[問題]給定n種物品和1個揹包,揹包容許的最大重量爲Capacity。物品i的重量爲weight[i],價值爲value[i]。與0-1揹包問題(每種物品只有裝入揹包或不裝入揹包兩種選擇)不一樣的是,在選擇物品i裝入揹包時,能夠只裝入物品i的一部分。 問應當怎樣選擇物品裝入揹包,使揹包中的物品的總價值最大?post
[解析]該問題可用貪心法解決,所採起的貪心策略以下:spa
(1)計算每種物品的單位重量的價值value[i]/weight[i]ci
(2)依照貪心選擇策略,將盡量多的單位重量價值最高的物品裝入揹包。it
(3)若將這種物品所有裝入揹包後,揹包仍有剩餘容量,則選擇單位重量價值次高的物品並儘量多地裝入揹包。class
(4)依此策略一直進行下去,直到揹包裝滿爲止。di
若是將該貪心策略用於求解0-1揹包問題,則不能保證獲得最優解。由於在0-1揹包問題中,該策略沒法保證最終能將揹包裝滿,部分閒置的揹包容量使每公斤揹包容量的價值下降了。揹包問題