JZOJ 6274 夢境 貪心 堆

2021-09-25 23:15:23 字數 722 閱讀 6438

傳送門

給出n

nn個區間,m

mm個時間點

問區間最多包含多少個時間點

對於同乙個時間點來說,區間左端點越靠前肯定越優,所以我們按照左端點的公升序進行排序

而當左端點相等時,我們不難發現,右端點越靠後就越有可能對答案有貢獻,所以我們用小根堆儲存右端點,不斷維護符合要求的區間即可

#include

#include

#include

#include

#include

#include

#include

#include

#define ll long long

#define lzx 998244353

using namespace std;

inline ll read()

while

(s>=

'0'&&s<=

'9')

return d*f;

}struct nodee[

200005];

int t[

200005];

bool cmp

(node x,node y)

priority_queue<

int> q;

intmain()

cout

}

jzoj4249 遊戲 貪心

0 n 0 sim n 0 n的點,從i ii移動到j jj獲得aj j i a j j i aj j i 的價值。求最大價值。考慮貪心,每次移動到往後a ia i ai 最大的點。證明 反證明 我們假設有一種情況i ij a jaj 但是之間移動到j jj比先移動到i ii更優。但是若我們先移動到...

jzoj數字遊戲 貪心 DP

description 一行數字a1,a2,a3,an,有m個回合,每個回合必須從中選擇乙個數字擦去它,接著每個回合後剩下來的每個數字ai都要遞減乙個相應的值bi。如此重複m個回合,所有你擦去的數字之和就是你所得的分數。給出n,m,a數列和b數列,求所得的最多的分數。input 輸入檔案的第一行是乙...

貪心 失意(jzoj 2318)

在x軸上給出n條線段,讓你選m條線段,使他們的相交部分盡量大 4 6 33 8 4 12 2 61 10 5 911 124 1 2 4我們先從左到右選m條線段,然後用乙個小根堆來存這m條線段的結束位置,然後每遇到一條線,就判斷結束位置是否比堆中最小結束位置小,如果是那麼刪掉堆中的那條線段,然後加上...