码迷,mamicode.com
首页 > 其他好文 > 详细

POJ 1064 Cable master | 二分+精度

时间:2017-12-14 12:01:06      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:fine   string   相同   jsb   blog   pac   题目   cstring   poj   

题目:

给n个长度为l[i](浮点数)的绳子,要分成k份相同长度的

问最多多长


 

题解:

二分长度,控制循环次数来控制精度,输出也要控制精度<wa了好多次>

#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
#define N 10010
using namespace std;
double L[N],l,r,mid;
long long n,k;
//yjjsb
bool check(double lim)
{
    int ret=0;
    for (int i=1;i<=n;i++)
	ret+=int(floor(L[i]/lim));
    return ret>=k;
}
int main()
{
    scanf("%lld%lld",&n,&k);
    for (int i=1;i<=n;i++)
	scanf("%lf",&L[i]),r+=2*L[i];
    for (int i=1;i<=100;i++)
    {
	mid=(l+r)/2;
	if (check(mid)) l=mid;
	else r=mid;
    }
    printf("%.2f",floor(r*100)/100);
    return 0;
}

 

POJ 1064 Cable master | 二分+精度

标签:fine   string   相同   jsb   blog   pac   题目   cstring   poj   

原文地址:http://www.cnblogs.com/mrsheep/p/8036683.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!