poj 3258 二分法求最小值最大

2021-06-22 18:40:53 字數 510 閱讀 7102

這道題和poj3273 剛好是兩個相反的例子,乙個是求最大值最小,這個是求最小值最大。

就是把一串數分成若干組,使得 組和(該組所有數的和)最大的哪一組的值最大或者最小。

應用二分的思想,在距離最小值和總和之間二分查詢。

**如下:

#include#include#include#include#define max 51111

using namespace std;

int a[max],d[max];

int l,n,m;

int sum,ans,l,r,cnt,mid;

int work(int m) //檢驗mid值是否滿足劃分要求

return cnt;

}int main()

sort(a+1,a+n+1);

l=l;r=l;

for(i=1;i<=n;i++)

d[i]=l-a[n];

if(l>d[i]) l=d[i];

while(l

poj 3258 二分最小值最大

題意 有一些石頭排成一條線,第乙個和最後乙個不能去掉。其餘的共可以去掉m塊,要使去掉後石頭間距的最小值最大。解析 二分石頭,最小值最大。include include include include include include include include include include in...

poj 3104 二分法求最小值

題意 有n件衣服,每件含水量為 知道用二分,關鍵就是怎麼judge卡了,判斷需要x時間所有衣服幹,時間短的直接晾乾 時間長於minite的 烘乾 晾乾,烘乾時間t t k x t a t a x k 1 最後總的烘乾時間要小於x include include includeusing namesp...

poj 2456 二分法 最大化最小值

重新練習下二分法,發現還是手速不夠 從這道題學到一下幾點 1 線性分幾段的方法,看我的judge 2 二分的while 最終列印的是down,而不是mid 我 裡寫的是ans 或者up,這麼想 跳出迴圈的時候,假設while裡的判斷,judge ans 1,那麼down是正確解,up不是 judge...