poj2456(二分搜尋)

2021-06-29 00:27:16 字數 504 閱讀 8795

題意:n間牛舍,m頭牛,最近的兩頭牛的距離為d,求d的最大值;
key:二分搜尋。從0-無窮大中搜尋符合要求的值。
/*二分搜尋*/

#include #include #include #include using namespace std;

const int maxn = 1e5;

int n, m;

int inf = 1e7;

int s = 0, e = inf;

int num[maxn];

bool yes(int d)

return 1;

}int main()

sort(num, num + n); //將牛舍的位置從小到大排序

while(e - s > 1)

printf("%d\n", s);

return 0;

}

POJ2456 二分搜尋

poj2456 aggressive cows 題意 有n間牛舍,牛舍被排在一條線上,第i號牛舍在xi的位置。但是他的m頭牛對小屋很不滿意,因此經產互相攻擊。為了防止牛之間互相傷害,因此決定把每頭牛都放在離其他牛盡量遠的牛舍。也就是要最大化最近的兩頭牛之間的距離。關於最小值最大化或者最大值最小化的問...

POJ 2456(二分搜尋)

題目鏈結 題目大意,給牛的數量和牛棚的座標位置,求把牛全部放進牛棚後最小牛間距的最大值 思路 二分列舉相鄰兩牛的間距,判斷大於等於此間距下能否放進所有的牛 include include include include using namespace std const int n 1e6 10 i...

POJ 2456 二分 貪心

poj 2456的題目鏈結 emm 開始讀了有點沒讀懂,實際上大概就是告訴你,給你n個牛棚,每乙個牛棚都有它的編號,再給你c頭牛,你現在就要把這c頭牛全部丟到牛棚裡面,求出最小的兩頭有牛的牛棚編號差值中的最大的那個。這個有點繞,大概就是,把c頭牛丟到n個牛棚裡面,有很多種丟法,但每次,兩兩有牛的牛棚...