時間限制:3000 ms | 記憶體限制:65535 kb
難度:3
描述學校的小禮堂每天都會有許多活動,有時間這些活動的計畫時間會發生衝突,需要選擇出一些活動進行舉辦。小劉的工作就是安排學校小禮堂的活動,每個時間最多安排乙個活動。現在小劉有一些活動計畫的時間表,他想盡可能的安排更多的活動,請問他該如何安排。
輸入第一行是乙個整型數m(m<100)表示共有m組測試資料。
每組測試資料的第一行是乙個整數n(1輸出
對於每一組輸入,輸出最多能夠安排的活動數量。
每組的輸出佔一行
樣例輸入
2樣例輸出21 10
10 11
31 10
10 11
11 20
1提示2
貪心演算法(又稱貪婪演算法)是指,在對問題求解時,總是做出在當前看來是最好的選擇。也就是說,不從整體最優上加以考慮,他所做出的是在某種意義上的區域性最優解。
貪心演算法不是對所有問題都能得到整體最優解,關鍵是貪心策略的選擇,選擇的貪心策略必須具備無後效性,即某個狀態以前的過程不會影響以後的狀態,只與當前狀態有關。
解題思路:對每個活動的結束時間進行有小到大排序。因為結束時間越早,就可以留下更多的時間去安排後面的活動,這裡並不是你開始的越早,安排的活動就越多,這要看活動的時長。因此直接比較每個活動結束時間就ok。
(1)首先我用到了結構體來記錄每個活動的開始和結束時間。
(2)寫乙個sort從小到大排序只比較結束時間。
(3)讓當前活動的開始時間與之前活動的結束時間做比較。如果開始時間大於結束時間,則活動數量加1;並將當前活動的結束時間作為標準,和下乙個活動的開始時間作比較。
**如下:
#include #include #include using namespace std;
struct timea[10005];
bool cmp(time a,time b)
}printf("%d\n",sum);
}return 0;
}
貪心演算法 nyoj 14 會場安排
題目詳情 時間限制 3000 ms 記憶體限制 65535 kb 描述學校的小禮堂每天都會有許多活動,有時間這些活動的計畫時間會發生衝突,需要選擇出一些活動進行舉辦。小劉的工作就是安排學校小禮堂的活動,每個時間最多安排乙個活動。現在小劉有一些活動計畫的時間表,他想盡可能的安排更多的活動,請問他該如何...
貪心演算法之 會場安排(nyoj14)
時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 學校的小禮堂每天都會有許多活動,有時間這些活動的計畫時間會發生衝突,需要選擇出一些活動進行舉辦。小劉的工作就是安排學校小禮堂的活動,每個時間最多安排乙個活動。現在小劉有一些活動計畫的時間表,他想盡可能的安排更多的活動,請問他該如...
nyoj 14 會場安排問題 貪心演算法
貪心演算法 又稱貪婪演算法 是指,在對問題求解時,總是做出在當前看來是最好的選擇。也就是說,不從整體最優上加以考慮,他所做出的是在某種意義上的區域性最優解。貪心演算法不是對所有問題都能得到整體最優解,關鍵是貪心策略的選擇,選擇的貪心策略必須具備無後效性,即某個狀態以前的過程不會影響以後的狀態,只與當...