演算法初步 貪心 基本貪心問題詳解

2021-08-15 08:03:55 字數 581 閱讀 3143

1、區間不相交問題

描述:給出n個開區間(x,y),從中選擇盡可能多的開區間,使得這些開區間兩兩沒有交集。如給出區間(1,3),(2,4),(3,5),(6,7)

貪心策略:

很容易想到,如果我們想讓n個區間中的子區間越多越好,那麼肯定子區間的長度越短越好,這樣才能有更大的剩餘空間留給其它空間,如果乙個區間就佔了(1,3),這顯然不是我們願意看到的。

所以怎麼不斷的選擇最小的區間呢,我們可以有兩種方法,按區間左端點從大到小排序,右端點從小到大排序。以左端點為例,左端點越大,那麼剩餘的左子空間就越大,這就是我們想要的區間。當出現區間交叉時,去掉交叉區間即可。

演算法(左端點為例)

1、對區間左端點進行從大到小排序,左端點相同按右端點從小到大排序

2、依次選出左端點最大的區間,當待選擇區間與已選區間集合相交時,捨棄待選區間

2、區間選點問題

描述:給出n個閉區間[x,y],求最少需要確定多少個點,才能使每個閉區間中都至少存在乙個點。例如對閉區間[1,4],[2,6],[5,7]來說,需要兩個點才能保證每個閉區間內都有至少有乙個點

貪心策略:區間選點問題實際上還是區間不相交問題,處理方法基本一致

貪心演算法初步

二 區間貪心 求解最優化問題的方法,總是考慮區域性最優 較優 的策略,使得全域性結果達到最優 較優 想要獲得最優解往往需要對才用的策略進行證明,一般採用反證或者是數學歸納法 在考試過程中,如果沒有時間想到嚴謹的證明,如果在想到某個可行的策略且短時間內沒有想出反例推翻它,則勇敢實現即可。月餅是中國人在...

貪心問題詳解

貪心演算法思想 顧名思義,貪心演算法總是作出在當前看來最好的選擇。也就是說貪心演算法並不從整體最優考慮,它所作出的選擇只是在某種意義上的區域性最優選擇。當然,希望貪心演算法得到的最終結果也是整體最優的。雖然貪心演算法不能對所有問題都得到整體最優解,但對許多問題它能產生整體最優解。如單源最短路經問題,...

演算法初步 貪心 A1038

思路 給出一堆數字字串,問怎樣組合可以得到最小值。仔細觀察可以發現只要按字典序排序,好像可以大致滿足要求,但是字典序排序是有缺陷的比如32和321字典排序的結果為32321,而實際上32132是最小的,因此我們得出了貪心策略。策略 將字串a和字串b相加,比較a b和b a,返回值更小的那乙個 注意 ...