zoukankan      html  css  js  c++  java
  • POJ 1064 Cable master | 二分+精度

    题目:

    给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;
    }
    
  • 相关阅读:
    c#格林治时间实现
    K3WISE常用表
    读取单元格数据
    水晶报表使用方法
    vs2010下使用sqlite
    C#执行EXE程序
    SQLLITE HELPER
    SQL LITE安装
    C#多线程
    VS2012 快捷键
  • 原文地址:https://www.cnblogs.com/mrsheep/p/8036683.html
Copyright © 2011-2022 走看看