51Nod 活動安排問題(貪心)

2021-07-27 06:40:05 字數 742 閱讀 5804

有若干個活動,第i個開始時間和結束時間是[si,fi),只有乙個教室,活動之間不能交疊,求最多安排多少個活動?

輸入

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

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

輸出

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

輸入示例

3

1 52 3

3 6

題解:由分析知道時間越早結束(end越小),舉辦的活動越多,但同時要考慮下乙個活動的開始時間一定      要大等於上乙個活動的結束時間

#includeint main()

,e[100001]=;

scanf("%d",&n);

for(int i=0;ie[j])}}

printf("%d\n",count);

return 0;

}

另解

#include#includeusing namespace std;

struct node

a[10001];

bool cmp(node x,node y)

{ return x.e

51nod 活動安排問題 (貪心)

有若干個活動,第i個開始時間和結束時間是 si,fi 只有乙個教室,活動之間不能交疊,求最多安排多少個活動?分析 我們就是想提高教室地利用率,盡可能多地安排活動。考慮容易想到的幾種貪心策略 1 開始最早的活動優先,目標是想盡早結束活動,讓出教室。然而,這個顯然不行,因為最早的活動可能很長,影響我們進...

活動安排問題 51nod

原題鏈結 問題 有若干個活動,第i個開始時間和結束時間是 si,fi 同乙個教室安排的活動之間不能交疊,求要安排所有活動,最少需要幾個教室?input第一行乙個正整數n n 10000 代表活動的個數。第二行到第 n 1 行包含n個開始時間和結束時間。開始時間嚴格小於結束時間,並且時間都是非負整數,...

51nod 活動安排問題

有若干個活動,第i個開始時間和結束時間是 si,fi 只有乙個教室,活動之間不能交疊,求最多安排多少個活動?分析 我們就是想提高教室地利用率,盡可能多地安排活動。考慮容易想到的幾種貪心策略 1 開始最早的活動優先,目標是想盡早結束活動,讓出教室。然而,這個顯然不行,因為最早的活動可能很長,影響我們進...