POJ 3122 二分法 用於數值計算

2021-06-27 04:38:47 字數 984 閱讀 9195

總結二分法的用處:

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....