浮点数二分答案 HDU1969
2015-08-21 18:56
323 查看
#include <iostream> #include <cstdio> #include <queue> #include <cstring> #include <algorithm> #include <cmath> using namespace std; double PI=acos(-1.0); double arr[10010]; int n,m; bool test(double mid) { int ans=0; for(int i=0;i<n;i++) { ans+=(int)(arr[i]/mid); } if(ans>=m+1) return true; else return false; } int main() { int T; scanf("%d",&T); while(T--) { scanf("%d%d",&n,&m); double sum=0; double rr; for(int i=0;i<n;i++) { scanf("%lf",&rr); arr[i]=PI*rr*rr; sum+=arr[i]; } double r=sum/(m+1); double mid=0.0; double l=0.0; while(r-l>1e-6) { mid=(r+l)/2; if(test(mid)) { l=mid; } else { r=mid; } } printf("%.4lf\n",mid); } return 0; }
View Code
相关文章推荐
- JAVA生成Word文档(经过测试)
- JAVA用freemarker生成复杂Excel。(freemarker)
- 如何在服务端保存用户上传的图片文件
- HDU 1286 找新朋友(数学 欧拉函数)
- hdu1042
- BZOJ 3118 Orz the MST 线性规划
- 继承详解
- POJ3294Life Forms【后缀数组】
- 打开ckeditor的图片上传功能
- Java中数据解析之_JSON(Android官方内置解析器)
- CRB and String
- POJ 3159 Candies差分约束系统 spfa 附:各种最短路比较
- 《Java设计模式》之迭代模式
- CRB and String
- easyUI中LinkButton实现扁平化
- 虚拟化技术
- 打开编辑页面时为文本框赋值后去掉easyui中validatebox的红框
- Implement Stack using Queues
- 用c语言怎样得到一个汉字的GB2312编码
- Product of Array Except Self