p 7 12會場安排問題

2021-10-01 13:57:48 字數 1071 閱讀 7353

1. 題目描述

假設要在足夠多的會場裡安排一批活動,並希望使用盡可能少的會場。設計乙個有效的

貪心演算法進行安排。(這個問題實際上是著名的圖著色問題。若將每乙個活動作為圖的乙個

頂點,不相容活動間用邊相連。使相鄰頂點著有不同顏色的最小著色數,相應於要找的最小 會場數。)

2. 輸入格式:
第一行有 1 個正整數k,表示有 k個待安排的活動。 接下來的 k行中,每行有 2個正整數,分別表示

k個待安排的活動開始時間和結束時間。時間 以 0 點開始的分鐘計。

3. 輸出格式:
輸出最少會場數。

4. 輸入樣例:
5

1 23

12 28

25 35

27 80

36 50

5. 輸出樣例:
在這裡給出相應的輸出。例如:

3

法一

解題思路
開始時間最早和持續時間最短的優先安排會場,並記錄會場號

若某活動的開始時間小於已經安排了會場的活動的結束時間,則會場數增加,否則就是活動的開始時間大於或等於已安排活動的結束時間,則安排在同一會場,但是下列的j並不代表 同一會場可以安排的最大活動數

類似於同一會場可以安排的最大活動數的鏈結

從上邊的鏈結中可去體會為什麼j不是同一會場可以安排的最大活動數
#include

using

namespace std;

int n;

int s[

1001];

int e[

1001];

intsolve()

return coun;

}int

main()

法二(用優先順序佇列,就不用在排序了)(不再給出)

會場安排問題

會場安排問題 問題描述 假設要在足夠多的會場裡安排一批活動,活動的開始時間和結束時間已知,並希望使用盡可能少的會場。設計乙個有效的演算法進行安排。分析 這個問題實際上是著名的圖著色問題。若將每乙個活動作為圖的乙個頂點,不相容活動間用邊相連。使相鄰頂點著有不同顏色的最小著色數,就對應要找的最小會場數。...

會場安排問題

時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 學校的小禮堂每天都會有許多活動,有時間這些活動的計畫時間會發生衝突,需要選擇出一些活動進行舉辦。小劉的工作就是安排學校小禮堂的活動,每個時間最多安排乙個活動。現在小劉有一些活動計畫的時間表,他想盡可能的安排更多的活動,請問他該如...

會場安排問題

時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 學校的小禮堂每天都會有許多活動,有時間這些活動的計畫時間會發生衝突,需要選擇出一些活動進行舉辦。小劉的工作就是安排學校小禮堂的活動,每個時間最多安排乙個活動。現在小劉有一些活動計畫的時間表,他想盡可能的安排更多的活動,請問他該如...