POJ 1064 Cable master(浮点数二分)
来源:互联网 发布:js array shift 编辑:程序博客网 时间:2024/05/21 07:14
题目链接:http://poj.org/problem?id=1064
题意:有N条电缆,他们的长度分别是Li。如果从它们中切割出K条长度相同的电缆的话,这K条电缆每条最长能有多长?答案保留小数点后2位。
分析:浮点数二分,注意控制精度,用100次循环即可,输出时不能直接输出否则会四舍五入。用cin会超时。
AC代码如下
#include<iostream>#include<cstdio>#include<cmath>using namespace std;const int INF=0x7fffffff;double a[10005];int n,k;//条件:所有的L分别切割后能够分成k个xbool C(double x){ int cnt=0; for(int i=0;i<n;i++) { cnt+=a[i]/x; } return cnt>=k;}int main(){ scanf("%d%d",&n,&k); for(int i=0;i<n;i++) scanf("%lf",&a[i]); double lb=0,ub=INF; double mid=lb+(ub-lb)/2; for(int i=0;i<100;i++) { mid=lb+(ub-lb)/2; if(C(mid)) lb=mid; else ub=mid; } printf("%.2f\n",floor(ub*100)/100);//不能用%.2f直接输出ub,%.2f对小数点第三位的处理是四舍五入 return 0;}
阅读全文
0 0
- POJ 1064 Cable master 浮点数二分
- POJ 1064 Cable master 浮点数二分
- POJ 1064 Cable master(浮点数二分)
- Cable master(浮点数二分)
- poj 1064 Cable master(浮点数的二分法)
- poj 1064 Cable master(二分)
- poj 1064 Cable master(二分)
- POJ 1064 Cable master(二分)
- poj 1064 Cable master【二分】
- [二分]poj 1064 Cable Master
- poj 1064 二分 Cable master
- POJ 1064 Cable master 【二分】
- POJ 1064 - Cable master(二分)
- 【POJ 1064 Cable master】+ 二分
- Poj 1064 Cable master(二分
- POJ 1064 Cable master 二分
- POJ 1064 Cable master【二分】
- poj 1064 Cable master 二分长度
- 【Google I/O 2017回顾】Mobile First To AI First
- 个人道德与品质思考
- 装饰者模式
- JS日期和常用的数组API和对象API
- 关于未来的选择
- POJ 1064 Cable master(浮点数二分)
- C++ 调用Python
- 有感
- UVA1354MobilingComputing
- 一个数组中有一个数字的次数超过了数组的一半
- 奶爸英语学习课程要点(1-3课)
- codeforces 405C Unusual Product
- 原型模式
- 有界、无界队列对ThreadPoolExcutor执行的影响