講一下揹包問題裡最簡單的lc揹包。
有n種物品,每種物品只有一件,每種物品都有他的價值和體積,你有乙個體積為v的揹包,要在裝得下的前提下裝價值最多的東西,請你求出這個最大的價值。
f[i][v]表示前i個物品放進體積為v的揹包裡的最優值。
對於第i件物品要麼被放進揹包,要麼放。
如果不放,前i件物品放進v的揹包的最優值就等於前i-1件物品放進v的揹包裡的最優值。
如果放,前i件物品放進v的揹包的最優值就等於前i-1件物品放進體積為v-w[i](wi是第i個物品的體積)的揹包的最優值加上第i件物品的價值。
so lc揹包的方程
這是二維的寫法。
因為第i層的狀態只和i-1層有關,所以我們可以省掉第一維。
但是如果這樣v要從大到小列舉,因為如果從小到大的話,你在算第i層用到第i-1層時,第i=-1層可能已經被更新過了。簡而言之就是乙個物品可能會被假如揹包很多次,但題目明確指出乙個物品只有乙個。
lc一維陣列的方程
olcck!
分支限界法之LC 0 1揹包
1.問題描述 已知有n個物品和乙個可以容納m重量的揹包,每種物品i的重量為weight,乙個只能全放入或者不放入,求解如何放入物品,可以使揹包裡的物品的總效益最大。2.設計思想與分析 對物品的選取與否構成一棵解樹,左子樹表示不裝入,右表示裝入,通過檢索問題的解樹得出最優解,並用結點上界殺死不符合要求...
01揹包問題部落格
01揹包問題是一種非常經典的動態規劃 dp 的題目。雖然不是很難,但變化靈活,非常重要。原題是這樣的 稍加改動 有乙個最多能裝 m 公斤的揹包,現在有 n 件物品,它們的重量分別是 w 1 w 1 w n 它們的價值分別為val 1 val 2 val n 求能獲得最大總價值。動態規劃做題的三大步 ...
揹包之01揹包 完全揹包 多重揹包詳解
首先說下動態規劃,動態規劃這東西就和遞迴一樣,只能找區域性關係,若想全部列出來,是很難的,比如漢諾塔。你可以說先把除最後一層的其他所有層都移動到2,再把最後一層移動到3,最後再把其餘的從2移動到3,這是乙個直觀的關係,但是想列舉出來是很難的,也許當層數n 3時還可以模擬下,再大一些就不可能了,所以,...