瘋牛(二分列舉)

2021-08-22 08:17:14 字數 846 閱讀 8039

描述

農夫 john 建造了一座很長的畜欄,它包括n (2 <= n <= 100,000)個隔間,這些小隔間依次編號為x1,...,xn (0 <= xi <= 1,000,000,000).

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

輸入有多組測試資料,以eof結束。

第一行:空格分隔的兩個整數n和c

第二行——第n+1行:分別指出了xi的位置

輸出每組測試資料輸出乙個整數,滿足題意的最大的最小值,注意換行。

樣例輸入

5 3128

49樣例輸出3*/

#include#include#include#define p 100001

using namespace std;

int n,c;

int l,r,d;

int a[p];

bool yanzheng(int x)

}return 0;*/

int precow=0;//初始牛的座標

for(int i=0;ia[j]) j++;

if(j>n) return false;

precow=j;

}return true;

}int findmin()

return l-1;

}int main()

sort(a,a+n);

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

}

NYOJ 586 瘋牛(二分列舉 貪心)

時間限制 1000 ms 記憶體限制 65535 kb 難度 4 描述 農夫 john 建造了一座很長的畜欄,它包括n 2 n 100,000 個隔間,這些小隔間依次編號為x1,xn 0 xi 1,000,000,000 但是,john的c 2 c n 頭牛們並不喜歡這種布局,而且幾頭牛放在乙個隔間...

hdu 5265 二分 列舉

解題思路 首先對每個數進行去模,這樣得到的數就會是 0,p 1 的範圍,接下來就是如何組合的問題了。這裡要考慮到模的性質了,假設取的兩個數分別為i,j,其中i j,如果當前數i p 1 2,那麼就會出現兩種情況 1 j p 1 2,這樣算出來的結果必定是i j p,i和j肯定都要盡可能大 2 j p...

HDU 6012 列舉 二分

問題描述 這幾天lotus對培養盆栽很感興趣,於是她想搭建乙個溫室來滿足她的研究慾望。lotus將所有的n n株盆栽都放在新建的溫室裡,所以所有盆栽都處於完全相同的環境中。每一株盆栽都有乙個最佳生長溫度區間 l,r l r 在這個範圍的溫度下生長會生長得最好,但是不一定會提供最佳的研究價值 lotu...