區間相交問題

2021-08-21 13:58:37 字數 726 閱讀 5302

原題 fzu - 1230  鏈結 

給定 x 軸上 n 個閉區間。去掉盡可能少的閉區間,使剩下的閉區間都不相交。

★演算法設計: 對於給定的 n 個閉區間,計算去掉的最少閉區間數。

input

對於每組輸入資料,輸入資料的第一行是正整數 n (1<=n<=40,000),表示閉區間數。接下來的 n 行中,每行有 2 個整數,分別表示閉區間的 2 個端點。

output

輸出計算出的去掉的最少閉區間數。

sample input

3

10 20

15 10

20 15

sample output

2
貪心題,按照區間從小到大排序,去除大區間,盡量保留小區間,記錄保留下來的區間數量num,總數減去num即可得解,注意,題目給出的區間不一定是按照從小到大排,例如區間【15,10】和區間【10 , 20】,所以要將二者調換。

以下是ac**

#include#include#includeusing namespace std;

struct node

;bool cmp(node n,node m)

int main()

else

}for(int i=1; i}

printf("%d\n",n-num);

}return 0;

}

區間相交問題

區間相交問題 time limit 1000ms memory limit 32768kb 64bit io format i64d i64u practice fzu 1230 description 給定 x 軸上 n 個閉區間。去掉盡可能少的閉區間,使剩下的閉區間都不相交。演算法設計 對於給定...

區間不相交問題

區間不相交問題 給出n個開區間 x,y 從中選擇盡可能多的開區間,使得這些開區間兩兩沒有交集。1.如圖 a 所示,當i1區間包含於i2區間時,我們選擇i1。因為這樣會剩下更多空間留給其他區間。2.如圖 b 所示,當區間不存在完全包含的關係時,按區間左端點從大到小排序 當然也可以按右端點排序,但是後續...

區間問題 最大不相交區間數量 區間問題 貪心

玄學的貪心問題,一般全憑直覺。貪心問題沒有固定討論,沒有模板,見多了就好了,證明想法的正確性是很困難的,大多採用反證法。區間問題無非左端點 右端點 左右端點排序 908.最大不相交區間數量 本題和 區間問題 區間選點 區間問題 貪心 一模一樣,乙份 交兩遍就行了。貪心思路和證明思路都一致,簡單對問題...