憤怒的牛(重回基礎二分)

2021-09-29 09:43:44 字數 892 閱讀 1080

農夫約翰建造了一座有n間牛舍的小屋,牛舍排在一條直線上,第i間牛舍在xix_ixi​的位置,但是約翰的m頭牛對小屋很不滿意,因此經常互相攻擊。約翰為了防止牛之間互相傷害,因此決定把每頭牛都放在離其它牛盡可能遠的牛舍。也就是要最大化最近的兩頭牛之間的距離。

牛們並不喜歡這種布局,而且幾頭牛放在乙個隔間裡,它們就要發生爭鬥。為了不讓牛互相傷害。john 決定自己給牛分配隔間,使任意兩頭牛之間的最小距離盡可能的大,那麼,這個最大的最小距離是多少呢?

第一行用空格分隔的兩個整數n和m;

第二行為n個用空格隔開的整數,表示位置 xix_ixi​

輸出僅乙個整數,表示最大的最小距離值。
5 3

1 2 8 4 9

3
把牛放在1,4,8這樣最小距離是3 。
#include#include#include#include#include#include#include#include#includeusing namespace std;

typedef long long ll;

ll x[100001];

ll a[100001];

ll n,m;

//最關鍵的部分check

bool check(ll x)

if(total>=m)return true;//提前安排好m個牛肯定滿足條件

} return false;

}int main()

cout

return 0;

}

憤怒的牛 二分

題目描述 農夫約翰建造了一座有n間牛舍的小屋,牛舍排在一條直線上,第i間牛舍在xi的位置,但是約翰的m頭牛對小屋很不滿意,因此經常互相攻擊。約翰為了防止牛之間互相傷害,因此決定把每頭牛都放在離其它牛盡可能遠的牛舍。也就是要最大化最近的兩頭牛之間的距離。牛們並不喜歡這種布局,而且幾頭牛放在乙個隔間裡,...

二分和三分 憤怒的牛

為了彌補自己的二分太渣,從二分的水題做起,從我做起 題目描述 農夫約翰建造了一座有n間牛舍的小屋,牛舍排在一條直線上,第i間牛舍在xi的位置,但是約翰的m頭牛對小屋很不滿意,因此經常互相攻擊。約翰為了防止牛之間互相傷害,因此決定把每頭牛都放在離其它牛盡可能遠的牛舍。也就是要最大化最近的兩頭牛之間的距...

選牛(二分查詢)

在一條座標軸上,有n頭奶牛,第i頭奶牛的位置是xi。fj現在要選出三頭奶牛去比賽,不妨假設選擇了奶牛a,b,c。那麼必須要滿足 1 xa xb xc。2 xb xa xc xb 2 xb xa 你的任務是計算,fj總共有多少種不同的選擇?輸入格式 第一行,乙個整數n。3 n 1000 接下來有n行,...