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

2021-08-31 13:50:09 字數 713 閱讀 8209

題幹:

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

例如:151523233636,可以選23233636,這2條線段互不重疊。

input

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

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

output

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

sample input

3

1 52 3

3 6

sample output

2
解題報告:

按終點排序,也就是貪心出對後面影響最小的。

ac**:

#includeusing namespace std;

int bk[30];

struct node node[10000 + 5];

bool cmp(const node a,const node b)

sort(node+1,node+n+1,cmp);

cure = node[1].e;

ans = 1;

for(int i = 2; i<=n; i++)

cout

}

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 ...