題意 :設有n個活動的集合e=,其中,每個活動都要求使用同一資源,如演講會場等,而在同一時間內只有乙個活動能使用這一資源。每個活動i都有乙個要求使用該資源的起始時間si和乙個結束時間fi,且si
fi。如果選擇了活動i,則它在半開時間區間[si,fi)內占用資源。若區間[si,fi)與區間[sj,fj)不相交,則稱活動i與活動j是相容的。也就是說當si≥fj或sj≥fi時,活動i與活動j相容。活動安排問題就是要在所給的活動集合中選出最大的相容活動子集合。
分析 :經典的貪心問題,解決辦法是根據結束時間安排,然後從頭到尾不衝突地乙個個選取
具體證明可以看 ==>
#includeusingview codenamespace
std;
const
int maxn = 1e3 + 10
;struct
activity;
}arr[maxn];
int main(void
) }
printf(
"case %d: %d\n
", case, ans);
}return0;
}
活動安排問題 區間貪心
設有n個活動的集合e 其中每個活動都要求使用同一資源,如演講會場等,而在同一時間內只有乙個活動能使用這一資源。每個活動i都有乙個要求使用該資源的起始時間si和乙個結束時間fi,且si fi。如果選擇了活動i,則它在半開時間區間 si,fi 內占用資源。若區間 si,fi 與區間 sj,fj 不相交,...
活動安排問題 區間貪心
題目描述 假設某社團某一天要組織?個活動?其中每個活動都要求使用同一禮堂,而且 在同一時間內只有乙個活動能使用這個禮堂。每個活動?都有乙個要求使用禮堂的起始時間?和結束時間 且有?如果選擇了活動?則它在半開時間區間 內占用資源。若 區間 與區間 不相交,則稱活動?與活動?是相容的。現在給定?個活動的...
貪心 活動安排問題
貪心演算法得到的並不一定是問題的整體最優解。但在這個問題中,貪心演算法最終確定的相容活動集合a的規模最大。描述 11件活動,各自有不同的開始和結束時間。求在所給活動的集合眾選出最大的相容活動子集合。include using namespace std bool a 11 int s 11 int ...