51nod 1133 不重疊的線段 (貪心)

2021-08-18 09:28:17 字數 713 閱讀 6890

1133 不重疊的線段

基準時間限制:1 秒 空間限制:131072 kb 分值: 10 

難度:2級演算法題

x軸上有n條線段,每條線段有1個起點s和終點e。最多能夠選出多少條互不重疊的線段。(注:起點或終點重疊,不算重疊)。

例如:[1 5][2 3][3 6],可以選[2 3][3 6],這2條線段互不重疊。

input

第1行:1個數n,線段的數量(2 <= n <= 10000)

第2 - n + 1行:每行2個數,線段的起點和終點(-10^9 <= s,e <= 10^9)

output

輸出最多可以選擇的線段數量。
input示例

3

1 52 3

3 6

output示例

2
思路:按照線段終點小到大排序,如果下一條線段的起點小於當前線段的終點,則拋棄下一條線段,繼續向下查詢,直到起點小於當下終點。當結束對這條線段的加入時,相應的記錄終點的值改為加入的這條線段的終點,然後繼續向下查詢。

#includeusing namespace std;

struct node

p[ 10005];

int cmp(node p1,node p2)

}cout<

return 0;

}

51Nod1133 不重疊的線段

x軸上有n條線段,每條線段有1個起點s和終點e。最多能夠選出多少條互不重疊的線段。注 起點或終點重疊,不算重疊 例如 1 5 2 3 3 6 可以選 2 3 3 6 這2條線段互不重疊。經典的序列上的區間問題。明顯的貪心 把右端點從小到大排乙個序 第一關鍵字 左端點從小到大排乙個序 第二關鍵字 然後...

51Nod 1133 不重疊的線段

x軸上有n條線段,每條線段有1個起點s和終點e。最多能夠選出多少條互不重疊的線段。注 起點或終點重疊,不算重疊 例如 1 5 2 3 3 6 可以選 2 3 3 6 這2條線段互不重疊。input 第1行 1個數n,線段的數量 2 n 10000 第2 n 1行 每行2個數,線段的起點和終點 10 ...

51nod 1133 不重疊的線段

x軸上有n條線段,每條線段有1個起點s和終點e。最多能夠選出多少條互不重疊的線段。注 起點或終點重疊,不算重疊 例如 1 5 2 3 3 6 可以選 2 3 3 6 這2條線段互不重疊。input 第1行 1個數n,線段的數量 2 n 10000 第2 n 1行 每行2個數,線段的起點和終點 10 ...