POJ 1064 保證精度二分搜答案

2021-09-12 10:19:00 字數 1268 閱讀 2567

儲存一下思路。思路很簡單就是二分找答案,每次找到乙個值,判斷一下是否可以滿足剪得個數大於等於k,然後一直找下去。

主要是這裡for(i,0,100)這裡最開始一直卡住了,不知道設定什麼,100就已經可以到10^-30了,對於二的精度來說已經完全足夠了。然後就是輸出,一定要注意兩位小數直接pinrtf .2f的話就一定會有第三開始四捨五入,先乘以一百,地板一下,再除回去,就可以保證前兩位一定是正確的了。

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define up(i,a,b) for(int i=a;i#define dw(i,a,b) for(int i=a;i>b;i--)

#define upd(i,a,b) for(int i=a;i<=b;i++)

#define dwd(i,a,b) for(int i=a;i>=b;i--)

//#define local

typedef

long

long ll;

const

double esp =

1e-6

;const

double pi =

acos(-

1.0)

;const

long

long inf =

0x3f3f3f3f

;using

namespace std;

typedef pair<

int,

int> pir;

int n, k;

double a[

10005];

bool

judge

(double mid1)

return num >= k;

}int

main()

double mid;

double lf =

0,ur =

200005;up

(i,0

,101

)else

}printf

("%.2f"

,floor

(lf *

100)

/100);

return0;

}

poj 1064 二分控制精度

自己的讀題能力是真的差,讀題不會,精度題目說了0.01,自己還寫錯,其實這個題就是乙個二分,找數的。用一下floor還有注意精度 include include include include include include include include using namespace std c...

POJ 1064 二分搜尋

poj 1064 題目大意 有n條繩子,他們的長度分別為li,如果從他們中切割k條長度相同的繩子的話,這k條繩子每條最長能有多長?答案保留到小數點後2位 演算法分析 這個問題用二分搜尋可以非常容易的求得答案。讓我們套用二分搜尋的模型試著解決這個問題。令 條件c x 可以得到k條長度為x的繩子 則問題...

POJ1064 簡單二分

題意 有n條繩子,他們的長度分別為li。如果從他們中切割出k條長度相同的繩子的話,這k條繩子每條最長能有多長。答案保留到小數點後兩位。思路 二分搜尋的模型解決 求滿足某個條件c x 的最小 大 的x 這一問題。這個題裡 c x 可以得到k條長度為x的繩子 由於長度為li的繩子最多可以切出floor ...