原題 fzu - 1230 鏈結
給定 x 軸上 n 個閉區間。去掉盡可能少的閉區間,使剩下的閉區間都不相交。
★演算法設計: 對於給定的 n 個閉區間,計算去掉的最少閉區間數。
input
對於每組輸入資料,輸入資料的第一行是正整數 n (1<=n<=40,000),表示閉區間數。接下來的 n 行中,每行有 2 個整數,分別表示閉區間的 2 個端點。
output
輸出計算出的去掉的最少閉區間數。
sample input
3sample output10 20
15 10
20 15
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.最大不相交區間數量 本題和 區間問題 區間選點 區間問題 貪心 一模一樣,乙份 交兩遍就行了。貪心思路和證明思路都一致,簡單對問題...