總結二分法的用處:
1.二分法用於查詢,查詢已經排序完的資料。
2.二分法用於計算,例如求解方程的解可用二分法。
二分法:分為int型二分法,double型二分法
int型二分法:
int left = 0;int right = n -1
while
(left <= right)
mid = (left + right) / 2
case
x[mid] < t:left = mid + 1;
x[mid] = t: p = mid;
break
;x[mid] > t:right = mid -1;
return
-1;
double型二分法:
const double esp=1e-4;
double low=0;
double high=max(data)*max(data);
double mid=0;
while((high-low)>esp)
#include#includeusing namespace std;
#define pi 3.14159265359
const int max=10001;
const double esp=1e-4;
int n,f;
int array[max];
int count;
inline int max(int array)
return max;
}double cal(int data)
return mid;
}int main()
else
if(array[middle] < v)
else
}return
-1;}
poj 3122 二分查詢
鏈結 poj 3122 題意 我生日派對時,準備了n個圓柱形的pie,半徑比一定相同,但高都為1,邀請了f個朋友,加上自己一共f 1人,需要將n個pie分給f 1個人 要求 每個人分得的pie尺寸要一樣大,並且同乙個人所分的pie要是從同乙個pie上得到的,n個pie分完後可以有剩餘 求 每個人最多...
POJ3122 二分與誤差
題意 n個派f 1個人分 包括自己 同乙個派可以分成多塊,但每個人只能拿一塊,並且不能拼接比如一塊6派,如果拿5,剩下的1就得丟棄 要點 1.比較普通的二分,將每塊派大小除mid,累加得到分給的人數。要注意mid也就是每個人分到的派可以是浮點數。2.要求精度問題,因為left和right都是doub...
poj 3122 二分 分蛋糕
題意 每組測試案例包括了,蛋糕的塊兒數,朋友數,以及所有高度為1的 圓柱形蛋糕的半徑,要求從這些蛋糕中分一塊分別給朋友和自己 f 1 並且每一塊蛋糕要來自同一塊兒大蛋糕,因為這樣看起來美觀,求最後每個人得到的蛋糕大小 pi s include include include define pi 3....