活動安排(貪心演算法,結構體排序)

2021-10-22 18:04:18 字數 628 閱讀 4034

題目

活動安排

貪心

貪心演算法(又稱貪婪演算法)是指,在對問題求解時,總是做出在當前看來是最好的選擇。也就是說,不從整體最優上加以考慮,他所做出的僅是在某種意義上的區域性最優解。貪心演算法不是對所有問題都能得到整體最優解,但對範圍相當廣泛的許多問題他能產生整體最優解或者是整體最優解的近似解。

思路:

讓結構體的 ed(結束時間)進行排序,然後拿 ed 去對比它們的開始時間,看有幾個是相容的。

#include

using

namespace std;

struct node

a[1001];

bool

cmp(node x,node y)

//要學會這種排序

intmain()

sort

(a+1

,a+n+

1,cmp)

;int t=a[1]

.ed;

int ans=1;

for(

int i=

2;i<=n;i++)}

cout

}

活動安排 貪心演算法

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

活動安排問題 貪心演算法

問題表述 設有n個活動的集合 e 其中每個活動都要求使用同一資源,如演講會場等,而在同一時間內只有乙個活動能使用這一資源。每個活 i都有乙個要求使用該資源的起始時間 si和乙個結束時間 fi,且 si 如果選擇了活動 i,則它在半開時間區間 si,fi 內占用資源。若區間 si,fi 與區間 sj,...

活動安排問題(貪心演算法)

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