• poj 3122 Pie


    其实真的没读懂这题是什么意思,读了好几遍题怎么都弄不懂它到底想让求什么的,最后还是查了解题报告,但是他们讲的题意仍是不明白,直到看了代码才似乎明白点他的意思,唉,这个英语啊!

    我理解的题意:将每一个Pie都要平均分成x份,所有的x加起来要大于等于朋友数f。

    思路:二分,将最大的一份pie平均分f份,这当然包括他自己,作为二分查找的下限,将所有pie平均分成f份,作为二分查找的上限。

    代码:

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <iostream>
    #include <algorithm>
    #include <string>
    #include <math.h>
    #define INF 0xffff
    #define maxm 10005
    #define esp 1e-6
    using namespace std ;
    
    double pi = acos ( -1.0 );
    double v[maxm] ;
    
    int main()
    {
        int cas , n , f , i , x , s ;
        double low , high , mid , maxx , sum ;
    
        scanf ( "%d" , &cas ) ;
        while ( cas-- )
        {
            scanf ( "%d%d" , &n , &f ) ;
            f++ ;
            maxx = sum = 0.0 ;
            for ( i = 0 ; i < n ; i++ )
            {
                scanf ( "%d" , &x ) ;
                v[i] = x * x * pi ;
                if ( v[i] > maxx )
                maxx = v[i] ;
                sum += v[i] ;
            }
            low = maxx / f ;
            high = sum / f ;
            while ( high - low > esp )
            {
                mid = ( high + low ) / 2 ;
                for ( i = 0 , s = 0 ; i < n ; i++ )
                s += floor ( v[i] / mid ) ;
                if ( s < f )
                high = mid ;
                else
                low = mid ;
            }
            printf ( "%.4lf\n" , low ) ;
        }
        return 0 ;
    }
  • 相关阅读:
    阿里云Centos7安装和启动nginx
    mysql安装配置、主从复制配置详解
    php 文件大小计算转换
    tp5.0 生成二维码 + 合并海报图
    iTerm2 + Oh My Zsh
    linux 安装 卸载 命令
    php两个时间日期相隔的天数,时,分,秒.
    PhpStorm下载 + 破解
    php 地区三级联动
    PhpSpreadsheet 引入类库 导出 excel
  • 原文地址:https://www.cnblogs.com/misty1/p/2567331.html
Copyright © 2020-2023  润新知