A 活動安排問題(貪心)

2022-03-05 11:46:17 字數 810 閱讀 4047

a - 活動安排問題

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

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

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

開始時間嚴格小於結束時間,並且時間都是非負整數,小於1000000000output一行包含乙個整數表示最少教室的個數。sample input

3

1 23 4

2 9

sample output

2
雖然說,以前做過這道題了,但是現在再做一遍的時候還是感覺挺吃力的,思想比基本的貪心多了一點,用時間段去找房間,可以用就把該時間段放進去,不能的話就再開乙個房間

ac**

#include#include

#include

#include

const

int maxn = 10010

;using

namespace

std;

std::pair

ivt[maxn];

intmain()

sort(ivt, ivt +n);

b[0] = ivt[0

].second;

for(i = 1; i < n; i++)

}if(j ==ans)

}printf(

"%d\n

", ans);

return0;

}

view code

貪心 活動安排問題

貪心演算法得到的並不一定是問題的整體最優解。但在這個問題中,貪心演算法最終確定的相容活動集合a的規模最大。描述 11件活動,各自有不同的開始和結束時間。求在所給活動的集合眾選出最大的相容活動子集合。include using namespace std bool a 11 int s 11 int ...

活動安排問題 貪心

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

貪心 活動安排問題

活動安排問題就是要在所給的活動集合中選出最大的相容活動子集合,是可以用貪心演算法有效求解的很好例子。該問題要求高效地安排一系列爭用某一公共資源的活動。貪心演算法提供了乙個簡單 漂亮的方法使得盡可能多的活動能相容地使用公共資源。設有n個活動的集合e 其中每個活動都要求使用同一資源,如演講會場等,而在同...