51NOD 活動安排問題之二

2021-08-18 12:45:41 字數 697 閱讀 7225

有若干個活動,第i個開始時間和結束時間是[si,fi),活動之間不能交疊,要把活動都安排完,至少需要幾個教室?

輸入

第一行乙個正整數n (n <= 10000)代表活動的個數。

第二行到第(n + 1)行包含n個開始時間和結束時間。

開始時間嚴格小於結束時間,並且時間都是非負整數,小於1000000000

輸出

一行包含乙個整數表示最少教室的個數。

輸入示例

3

1 23 4

2 9

輸出示例

2

題解:先將活動按照開始時間小的在前,相同時則時間結束的在的在前然後只需要求出在乙個活動進行時最多有幾個活動也要進行。這時需要的教室數就是至少需要的數量

#includeusing namespace std;

#define m 20005

int n;

struct nodea[m];

int cmp(node x,node y)

ans=max(ans,sum);

}cout

}//

51nod 貪心入門之二 活動安排問題

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

活動安排問題 51nod

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

51nod 活動安排問題

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