洛谷 1824 進擊的奶牛 二分

2021-08-17 01:41:24 字數 518 閱讀 3232

題目鏈結

寫這道題是為了記錄一下二分的模板,這種求最大中的最小比較適合用二分。

面對這種最大中的最小,有時候會犯暈,到底是最大還是最小。這裡的關係是:我們二分中的mid是假設的最大值,如果這個mid成立,那說明他一定是比真正的最小的最大值大的,所以我們往小了找,簡而言之,最大是假設的mid的屬性,最小是尋找的目標。

#include #include#includeusing namespace std;

int n,c;

int a[100005];

int check(int x)

} return 0;

}int main()

sort(a,a+n);

int st=0,en=a[n-1]-a[0],mid;

while(st+1if(check(en))printf("%d\n",en);

else printf("%d\n",st);

return 0;

}

P1824 進擊的奶牛 (二分)

像這種求最大最小值,最小最大值得問題都是典型的二分答案題,二分答案的主要難點在於juge 函式,此題下面給出了兩個不同思路的juge函式。要注意的是如何根據所列舉的答案來將隔間分隔,因為求的是最大的最近距離,這個距離要是每一次分隔距離中最短的。接下來分析,假設隔間的座標沒有規定在哪的話,那麼什麼時候...

洛谷 二分搜尋 進擊的奶牛

farmer john建造了乙個有n 2 n 100,000 個隔間的牛棚,這些隔間分布在一條直線上,座標是x1,xn 0 xi 1,000,000,000 他的c 2 c n 頭牛不滿於隔間的位置分布,它們為牛棚裡其他的牛的存在而憤怒。為了防止牛之間的互相打鬥,farmer john想把這些牛安置...

洛谷P1824進擊的奶牛

題目描述 farmer john建造了乙個有n 2 n 100,000 個隔間的牛棚,這些隔間分布在一條直線上,座標是x1,xn 0 xi 1,000,000,000 他的c 2 c n 頭牛不滿於隔間的位置分布,它們為牛棚裡其他的牛的存在而憤怒。為了防止牛之間的互相打鬥,farmer john想把...