力扣上也有一道類似的題 幾乎是一樣 輸出不同 → 力扣leetcode 435. 無重疊區間
n個比賽 [開始時間,結束時間] 問乙個人最多能參加幾個(不能同時參加兩個且必須有始有終)
首先考慮最簡單的情況,如果區間l1被區間l2包含(圖a),那麼顯然選擇l1是最好的,也符合區域性貪心思想。
然後把所有區間按左端點(此例子就是開始時間)從大到小排序,如果把重疊的區間去除了,必然得到的是y1>y2>...>yn(圖b)
所以選擇的時候,以y1為第乙個選擇的,去除重疊部分後,下乙個只能選擇y4,因此總是選擇端點最大的區間進行比較可以是左端點從大到小排序,也可以是從右端點開始
#include //萬能標頭檔案
using namespace std;
const int maxn = 1000000;
struct intevali[maxn];
bool cmp(inteval a, inteval b)
int main()
}cout << ans;
return 0;
}
貪心思想之無重疊區間問題
給你很多形如 start,end 的閉區間,請你設計乙個演算法,算出這些區間中最多有幾個互不相交的區間。這個問題在生活中的應用廣泛,比如你今天有好幾個活動,每個活動都可以用區間 start,end 表示開始和結束的時間,請問你今天最多能參加幾個活動呢?可以分為以下三步 把這個思路實現成演算法的話,可...
洛谷 P1031 均分紙牌 (貪心思想)
均分紙牌 題目鏈結 這道題是一道貪心問題 也有不用貪心方法寫的 解題思路 顯然我們要先求和,把牌堆的平均值求出。題目上說,每次只能向左右兩邊移動一次 第一堆,最後一堆除外 最少要多少次。我們不如從一組例項來講吧 上述十個數字,平均值為10.我們,這樣看 第乙個數字等於10,忽略。第二個數字小於10。...
超級書架(貪心思想)
題面 from luogu 超級書架 farmer john最近為奶牛們的圖書館添置了乙個巨大的書架,儘管它是如此的大,但它還是幾乎瞬間就被各種各樣的書塞滿了。現在,只有書架的頂上還留有一點空間。所有n 1 n 20,000 頭奶牛都有乙個確定的身高h i 1 h i 10,000 設所有奶牛身高的...