這道題和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...