二分 最小化最大值

2021-10-13 20:58:08 字數 622 閱讀 4096

注意答案的二分性質,必須要滿足在滿足給定條件的所有情況的時候都滿足要求才能更新ans。

#include

using

namespace std;

typedef

long

long ll;

inline ll in()

while

(c>=

'0'&&c<=

'9') res=res*

10+c-

48,c=

getchar()

;return p*res;

}void

out(ll x)

const

int maxn =

5e4+5;

int a[maxn]

;int

main()

//這裡,當cnt小於等於k時,任何的cnt一定能滿足給定條件,因為在最大值被限定的情況下能分cnt組,那麼一定可以分至少cnt組。

if(cnt > k) l = m +1;

else ans = m, r = m -1;

}out

(ans)

;return0;

}

zzuli 1919 二分 最大值最小化

description 晴天想把乙個包含n個整數的序列a分成連續的若干段,且和最大的一段的值最小,但他有強迫症,分的段數不能超過m段,然後他就不會分了。他想問你這個分出來的和最大的一段的和最小值是多少?input 第一行輸入乙個整數t,代表有t組測試資料。每組資料第一行為兩個整數n,m分別代表序列的...

POJ 3273(二分,最小化最大值)

和這道題一樣了 description 聰哥在暑假參加了打零工的活動,這個活動分為n個工作日,每個工作日的工資為vi。有m個結算工錢的時間,聰哥可以自由安排這些時間,也就是說什麼時候拿錢,老闆說的不算,聰哥才有發言權!因為聰哥是土豪,他是老闆的老闆 聰哥不喜歡身上一次性有太多的錢,於是他想安排一下拿...

洛谷 1182 二分 最小化最大值

對於給定的乙個長度為n的正整數數列a i,現要將其分成m m n 段,並要求每段連續,且每段和的最大值最小。關於最大值最小 例如一數列42451要分成3段 將其如下分段 42 45 1 第一段和為6,第2段和為9,第3段和為1,和最大值為9。將其如下分段 4 24 51 第一段和為4,第2段和為6,...