儲存一下思路。思路很簡單就是二分找答案,每次找到乙個值,判斷一下是否可以滿足剪得個數大於等於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 ...