UPC 栓奶牛 二分法詳解

2021-10-10 15:04:05 字數 712 閱讀 6616

栓奶牛——二分

題目描述:

有n頭奶牛,有k個木樁,每個木樁有乙個位置,乙個木樁上只能拴一頭奶牛。由於奶牛好鬥,所以在拴奶牛的時候要求距離最近的奶牛的距離盡可能大。

例如n=4,k=6,木樁的位置為0,3,4,7,8,9(如最下面的圖)

此時,有許多拴牛方案,例如

0,3,4,9 此時最近距離為1(3,4之間)

0,3,7,9 此時最近距離為2

輸入n,k,p1三個整數(0≤p1≤100),其中p1為第1個木樁的位置,其他木樁pi(i≥2)的位置由下面公式算出:p[i]= p[i-1]+((p[i-1]2357+137) mod 10)+1

輸出乙個整數,即奶牛最近距離的最大值。

樣例輸入

25 70 99

樣例輸出

12資料範圍限制

2≤n≤100,n≤k≤100

二分演算法,找到最好的mid即可

要知道,奶牛是站得越開越好,即越向右越好

上**`

#include

using

namespace std;

int n,k,a[

110]

,ans;

intmain()

}if(sum>=n)

else

} cout

}

大佬如果有用給個贊哦!!!

UPC 栓奶牛 二分法

有n頭奶牛 2 n 100 有k個木樁 n k 100 每個木樁有乙個位置,乙個木樁上只能拴一頭奶牛。由於奶牛好鬥,所以在拴奶牛的時候要求距離最近的奶牛的距離盡可能大。輸入1行 n,k,p1三個整數 0 p1 100 其中p1為第1個木樁的位置,其他木樁pi i 2 的位置由下面公式給出 pi pi...

二分法查詢詳解

二分法查詢,中間值若小於,則首元素換成中間元素的下一位 為什麼不換成中間元素?因為其實在比較中間元素的時候,已經進行了比較,沒必要再進行第二次比較 基本上都是採用測試類加功能實現類的樣式 1.是建立在已經排序的基礎上的 2.以下程式分析從小到大 3.這個陣列中沒有重複的元素 public class...

C 二分法查詢,遞迴二分法

用二分法來求需要查詢的值.includeusing namespace std 查詢key元素是否存在 int findkey const int buf 100 const int ilen,const int key else right left mid 1 查詢失敗 return 1 查詢k...