UVA - 12097 (pie 二分求解逼近值)
2014-12-30 10:29
423 查看
一开始开到y-x >1e-9直接超时;看来不可过度的去二分啊; #include <cstdio> #include <iostream> #include <cstring> #include <algorithm> #include <cmath> #include <vector> #include <map> using namespace std; typedef long long LL; const double P = acos(-1.0); const int maxn = 10010; double a[maxn]; int n,F; int Judge(double x){ int cnt=0; for(int i=1;i<=n;i++){ cnt+=floor(a[i]/x); } return cnt >= F ? 1 : 0; } int main() { int T; scanf("%d",&T); while(T--){ scanf("%d %d",&n,&F); F++; double x=0,y=maxn; for(int i=1;i<=n;i++){ scanf("%lf",&a[i]); a[i]=P*a[i]*a[i]; y=max(y,a[i]); } while(y-x>1e-5){ double m=(y+x)/2; if(Judge(m)) x=m; else y=m; } printf("%.5lf\n",x); } return 0; }
相关文章推荐
- 【UVA】12097 - Pie(二分枚举)
- uva 12097 Pie(二分搜索)
- UVA 12097 Pie(二分)
- uva 12097 - Pie(二分,4级)
- uva 12097 - Pie(二分,4级)
- UVa 12097 - Pie(二分查找)
- UVALive 3635 Pie 【二分】
- uva 12097 - Pie
- 二分逼近/牛顿迭代——一元高次非线性方程求解
- UVaLive 3635 Pie (二分)
- 12097 - Pie (二分)
- UVALive3635 UVA12097 POJ3122 HDU1969 Pie【二分查找】
- UVALive 3635-Pie-二分
- uva 12097(二分)
- UVALive - 3635 Pie 二分
- UVALive - 3635 Pie(二分答案查找)
- uvalive 3635 - Pie(二分搜索)
- UVA 12097 Pie LA 3635 (二分)
- UVA 12097 Pie
- POj 2002 UVALive - 3047 C - Squares 【计算几何+二分求解】