貪心問題總結

2022-04-30 09:54:10 字數 583 閱讀 1880

n個開區間(ai,bi),選擇盡量多個區間,使得這些區間兩兩不相交

右端點排序(<)兼顧左端點(>),再從左到右遇到不相交的就選

n個閉區間[ai,bi],選擇盡量少的點,使得每個區間至少有乙個點

右端點排序(<)兼顧左端點(>),每次選擇可選區間的最後乙個點

數軸上有n個閉區間[ai,bi],選擇盡量少的區間覆蓋一條指定的線段[s,t]

左端點排序(<)兼顧右端點(<),每次選擇從當前起點能覆蓋到的最長的區間

1:活動安排問題 這種問題可以用結束時間排序,然後不斷拿後一次的開始時間比較,迴圈,最大利用時間

2,:揹包問題 揹包問題不能單純的考慮一方面,重量或是**,應用乙個詞「價效比」來裝包,從價效比最高的開始,一直裝到不能再裝為止,如果能分割,那麼可以最大利用空間!!

3:最優裝載問題 這個和揹包問題差不多,甚至還簡單,就不說了。。

4:多次服務最優次序問題:這種型別還是比較簡單的,首先排好序,然後兩個視窗依次取,誰完成就取,從小的開始 (如zjoi2007 午餐).

5:桌子移動問題:其實這個可以把桌子數除以二,然後可以把陣列值為零,依次輸入資料,從誰那通過就加一,依次累加即可。。

貪心演算法 區間排程問題總結

問題定義 存在單一資源,有一組以時間區間形式表示的資源請求reqs 第i個請求希望占用資源一段時間來完成某些任務,這段時間開始於begin i 終止於end i 如果兩個請求req i和req j在時間區間上沒有重疊,則說這兩個請求是相容的,求出這組請求的最大相容子集 最優子集 舉個例子 有一間多 ...

簡單貪心總結

題目描述 大家千萬別讓波波蒙人的外表給騙了,其實他就是偷吃界所向披靡的大胃王 從前,有一天,實驗室買了一批新零食,而又剛好大家出去吃飯了,月黑風高,波波出動了 假設他有乙個容量為m的胃,實驗室的n件食物每件都有體積vi,有每一單位體積的美味值di,他想要能偷吃到食物的美味值相加和最大,假設他可以每件...

區間貪心總結

一 線段覆蓋 n個開區間 ai,bi 選擇盡量多個區間,使得這些區間兩兩不相交 右端點排序 兼顧左端點 再從左到右遇到不相交的就選 sort he 1,he n 1,cmp int tot 0,now 1000 for int i 1 i n i printf d tot 二 區間選點 n個閉區間 ...