CF732D Exams 二分 貪心

2022-03-30 07:42:46 字數 1058 閱讀 5311

思路:二分+貪心

提交次數:10次以上

錯因:剛開始以為二分(邊界,$+1or-1$)寫錯了,調了半天,後來才發現是$ck()$寫錯了。開始只判了最後是否小於零,而應該中間一旦小於零就$return\space false$

題解:二分天數(單調性顯然)。

$ck(int x)$: 首先$x$天內必須包含所有科目;然後貪心的考每一科的最後一次試(倒著掃一遍);維護乙個剩餘天數$cnt$,遇到空閒時間或不是最後本科目的一次考試就$++$,否則$-=$本科考試所需的複習天數;一旦$cnt<0$,直接$return\space false$;最後$return\space cnt>=0$。

**:

#include#include

#include

using

namespace

std;

//你弱,有什麼資格休息

#define ull unsigned long long

#define ll long long

#define r register ll

#define pause (for(r i=1;i<=10000000000;++i))

#define in freopen("noipak++.in","r",stdin)

#define out freopen("out.out","w",stdout)

namespace

fread inline

bool isempty(const

char& ch)

inline

void gs(char*s)

} using fread::g; using

fread::gs;

namespace

luitaryi

return ret>=0;}

inline

void

main() printf(

"%d\n

",l==n+1?-1

:l);}}

signed main()

2019.07.14

CodeForces 732D 二分 貪心

思路 二分列舉答案,在限定時間內判斷這個時間能否完成。貪心策略是盡量晚的安排每個考試。ac include include include include include include include include include include include include include ...

題解 CF1175C 二分 貪心

題目鏈結 考慮二分答案,判定條件等價於存在乙個 x 滿足存在 ge k 個位置滿足 a i x le mid 考慮固定 x 那麼要統計的即在 x mid,x mid 這個範圍內的 a i 的個數。對於這個問題有兩個解決辦法 直接做我們發現很難,正難則反。因為覆蓋的範圍是一段區間,所以考慮列舉區間判定...

二分貪心 21

題目大概 有n堆積木,積木高度不同,每個小方塊高度相同。問,最少移動多少小方塊,使得這些積木堆高度相等。思路 先求這些積木的平均數,在把所有的高度與平均數的差值加起來,最後除2,就是最少移動的方塊數。感想 這個題有一點很坑人,最後輸出的時候有乙個小點,不注意看看不到。include include ...