POJ 1905 二分查詢答案

2021-10-01 06:43:20 字數 836 閱讀 5860

一道精度很高的問題,雖然也不是很難

傳送門:二分查詢答案

題解:

求出r=(l^2+4h^2)/8hs=(2r*arcsin(l/2r))

二分區間查詢h和真正的s對比當l-r>exp不滿足時候跳出求解答案

注意

因為精度很高所以這裡的折半不應該用/2.0而是*0.5*0.5的精度更高

ac**:

#include

#include

#include

#include

#define exp 1e-8

using namespace std;

double l,c,k;

double gets(double h)

int main(

) double lx=

(1.0

+k*c)

*l; double l=

0,r=l*

0.5,ans;

while

(r-l>exp)

else

} printf(

"%.3lf\n"

,ans);}

}

二分查詢與二分答案

主要用於在乙個單調的函式中查詢某值 連續函式的情況 若當前查詢的區間是 l,r 查詢的值是 y 函式單增 設 mid l r 2 若 f mid y 則 l mid,否則 r mid 直至 r l eps 當前查詢的區間是 l,r 查詢的值是 y 函式單增 設 mid l r 2 若 f mid y...

二分查詢和二分答案

1.解釋 優點 查詢速度快。缺點 待查表為有序表。4.時間複雜度 o log n 5.示例 p2249查詢 include include using namespace std long long n,m,a 1000005 b 100005 l,r,mid,cnt,x intmain for i...

poj 3104 二分答案

題意 n件濕度為num的衣服,每秒鐘自己可以蒸發掉1個濕度。然而如果使用了暖爐,每秒可以燒掉k個濕度,但不計算蒸發了。現在問這麼多的衣服,怎麼燒事件最短。解析 二分答案咯。include include include include include include include include ...