poj 1064 Cable master
Posted 罚时自动机
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了poj 1064 Cable master相关的知识,希望对你有一定的参考价值。
题意:给n段绳子,长度分别为c1,c2.....,切成相等的k段,求最大的长度
分析:二分长度,唯一注意的一点,输出的时候的精度
#include<iostream> #include<cstdio> #include<algorithm> #include<cmath> using namespace std; const int maxn=1e4+5; const double esp=1e-9; double c[maxn]; int n,k; bool judge(double mid){ int cnt=0; for(int i=0;i<n;i++) cnt+=(int)(c[i]/mid); return cnt>=k; } int main(){ while(~scanf("%d%d",&n,&k)){ double l=0,r=0; for(int i=0;i<n;i++){ scanf("%lf",c+i); r+=c[i]; } r/=k; while(r-l>esp){ double mid=(l+r)/2; if(judge(mid)) l=mid; else r=mid; } r=floor(r*100)/100; printf("%.2f\\n",r); } return 0; }
以上是关于poj 1064 Cable master的主要内容,如果未能解决你的问题,请参考以下文章