貪心是一種解決問題的策略。
貪心演算法就是按照貪心策略一步一步去求,當貪心選擇最優時,具有貪心選擇性質(最開始的貪心選擇被包含在最優解中)和最優子結構性質。
與dp的區別:
貪心是自頂向下的(遞迴),貪心可以看作dp中的某乙個選擇策略,dp是全域性的。
揹包相關問題
最優裝載問題:給出n個物體,第i個物體重量為wi.選擇最多的物體,使得總重量不超過c。
每次都選擇裝最輕的,這是一種典型的貪心演算法,它只顧眼前,卻能得到最優解。
部分揹包問題:有n個物體,第i個物體的重量為wi,價值為vi.在總重量不超過c的情況下讓總價值盡量高。每乙個物體都可以只取走一部分,價值和重量按比例計算。
(選取vi/wi最大的,因為可以取部分,所以一定會達到重量c這一目標)
乘船問題:有n個人,第i個人重量為wi。每艘船的最大載重量均為c,且最多只能乘兩個人。用最少的船裝載所有人。
考慮最輕的人i,如果他和最重的人j一起做,這樣是貪心的,因為眼前的浪費最少。
區間相關問題
選擇不相交區間
區間選點問題
區間覆蓋問題
huffman編碼
每一步都是貪心的。原問題的最優解包含子問題的最優解。
第八章 (二)貪心法
貪心是一種解決問題的策略。貪心演算法就是按照貪心策略一步一步去求,當貪心選擇最優時,具有貪心選擇性質 最開始的貪心選擇被包含在最優解中 和最優子結構性質。與dp的區別 貪心是自頂向下的 遞迴 貪心可以看作dp中的某乙個選擇策略,dp是全域性的。揹包相關問題 最優裝載問題 給出n個物體,第i個物體重量...
第八章 指標 第八章 指標
1 什麼是位址 include using namespace std int main 11 在堆中建立對像 我們既然可以在堆中儲存變數,那麼也就可以儲存對像,我們可以將對像儲存堆中,然後通過指標來訪問它 include using namespace std class human 14 在建構...
第八章(筆記)
能在 中進行記憶體單元的定址的暫存器只有4個,分別是bx si di bp 其中bx bp 是基址,bx對應的段位址是ds,bp對應的段位址是ss si di 是變址,單獨使用時段位址是ds,組合使用段位址是跟隨組合的基址對應的段位址 中進行記憶體單元定址彙總 si di bx bp 常量 si 常...