有若干個活動,第i個開始時間和結束時間是[si,fi),只有乙個教室,活動之間不能交疊,求最多安排多少個活動?
輸入
第1行:1個數n,線段的數量(2 <= n <= 10000)第2 - n + 1行:每行2個數,線段的起點和終點(-10^9 <= s,e <= 10^9)
輸出
輸出最多可以選擇的線段數量。
輸入示例
31 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 開始最早的活動優先,目標是想盡早結束活動,讓出教室。然而,這個顯然不行,因為最早的活動可能很長,影響我們進...