貪心演算法 活動選擇

2021-08-27 20:36:19 字數 759 閱讀 9750

貪心演算法,選擇區域性最優解

活動選擇問題,每個活動有開始時間s,結束時間f,找到最大相容活動集。假設f按照大小順序排好。

每次就從當前結束時間往後選最近的開始時間的活動

#include #include #include using namespace std;

//void activityselect(map& activity,int k,int n,vector& result);//map第乙個int是活動結束時間即f,map資料是按照順序儲存的,也即按照結束時間排序了,k是當前求解的子問題sk,問題規模n

void activityselect(int s,int f,int k,int n,vector& result);//n個活動,s,f都是n+1維的,第乙個設定為0,0代表空的乙個活動,k是當前已經安排好的第k個活動

//存在乙個問題是map不能儲存相同鍵值的資料,所以得自己另外輸入一下,然後再排個序

//迭代貪心演算法,同樣s,f是n+1維的

void activityselectiterate(int s,int f,int n,vector& result);

void fastsort(int a,int data ,int left, int right);

int main()

while(index_left!=index_right)

if(count<=n)

else return;

}*/

貪心演算法 活動選擇

假設有乙個需要使用某一資源的活動組成的集合s,s n 1000 該資源一次只能被乙個活動占用,每乙個活動有乙個開始時間bi和乙個結束事件ei bi ei 若bi ej或者bj ei,則活動i和活動j相容。你的任務是 選擇由相互相容的活動組成的最大集合。輸入 輸入共n 1行,其中第1行為n,第2行到第...

活動選擇 貪心演算法

學校的大學生藝術中心週日將面向全校各個學院的學生社團開放,但活動中心同時只能供乙個社團活動使用,並且每乙個社團活動開始後都不能中斷。現在各個社團都提交了他們使用該中心的活動計畫 即活動的開始時刻和截止時刻 請設計乙個演算法來找到乙個最佳的分配序列,以能夠在大學生藝術中心安排不衝突的盡可能多的社團活動...

貪心演算法 活動選擇問題

活動選擇問題 就是給定一組活動的開始時間和結束時間,然後他們都需要使用到乙個資源,這個資源每次只有乙個活動可以用,要求求出乙個最大的相互相容的活動子集。首先定義了乙個集合sij 其中s就是所有活動的集合,fi是活動ai的完成時間si是活動ai的開始時間。這道題如果是用dp來解的話,就需要找到最優解的...