题目大意:馅饼(看起来像是一个简单点的题目啊,嘎嘎,希望是的吧)

我的生日即将来临按照习惯我将准备馅饼,不是一个馅饼,我有N块馅饼,有各种各样的味道和尺寸,当我的朋友来参加我的聚会平且他们都能得到一块馅饼,这应该是一块馅饼,不是几小块看起来很乱的样子,这些馅饼曾经是一个完整的个体。
我的朋友十分的讨厌别人拿的馅饼比自己的大,他们开始抱怨,因此他们都应该得到大小相同的尺寸(但是不一定形状相同)馅饼,即使这样导致一些馅饼变质(总比破话聚会好吧),当然我自己也想要一块馅饼,并且尺寸相同。
我们能获得的最大尺寸的馅饼是多少?所有的馅饼都是圆柱型并且有相同的高度1,但是馅饼的半径是不同的
明白了,就是说这个人有很多个馅饼,他和他的朋友吃的馅饼大小都是一样的,问他们最多吃的馅饼的体积是多少
分析:仔细想了一会感觉还是二分面积好点,希望复杂度可以承受

确实是可行的方案

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std; #define maxn 10005
#define PI 3.14159265358979323846//精度必须高,否则无情WA
#define esp 1e-5 double area[maxn]; bool cmp(double n1, double n2)
{
    return n1 > n2;
}
int Slove(int N, int M, double S)
{
    int i, sum=0;     for(i=0; i<N; i++)
    {
        sum += (int)(area[i]/S);         if(sum >= M)return 1;
    }     return 0;
} int main()
{
    int T;     scanf("%d", &T);     while(T--)
    {
        int i, N, M, r;         scanf("%d%d", &N, &M);
        M++;         for(i=0; i<N; i++)
        {
            scanf("%d", &r);
            area[i] = PI * r * r;
        }         sort(area, area+N, cmp);         double L=0, R=area[0], Mid;         while(R-L>esp)
        {
            Mid = (R+L) / 2;             int ans = Slove(N, M, Mid);             if(ans)
                L = Mid + esp;
            else
                R = Mid - esp;
        }         printf("%.4f\n", Mid);
    }     return 0;
} /*
25 5 5
2
14
11
21
17 3 2 0
1
2
a
*/

poj3122的更多相关文章

  1. 【poj3122】 Pie

    http://poj.org/problem?id=3122 (题目链接) 题意 给出N个pie的半径和F个friend,每个friend得到的pie必须一样,求每个人能得到的pie的最大大小. so ...

  2. poj3122 Pie (二分)

    题目链接:https://vjudge.net/problem/POJ-3122 题意:有n块饼,m+1个人,将饼均分成m+1块,求每块最大的大小. 思路:水二分,显然每块的大小与可以给多少人吃具有单 ...

  3. Pie(二分POJ3122)

    Pie Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 12985   Accepted: 4490   Special Ju ...

  4. poj3122 pie

    方法:二分. 题目意思:要过生日了,我请大家吃pie,然后人数一共是f+1(我自己).每个人的pie不能是拼接的,而且每个人的面积是一样的,这样就用二分枚举. 范围是0-最大的那块pie. 然后用每一 ...

  5. poj3122 binary search 实数区间

    Pie Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 14536   Accepted: 4979   Special Ju ...

  6. 【二分答案】【POJ3122】【Northwestern Europe 2006】Pie

    Pie Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10629   Accepted: 3744   Special Ju ...

  7. POJ-3122(二分算法)

    //题意:这是一个分蛋糕的游戏, t个测试数据,输入n, f n代表的是n块蛋糕,蛋糕的高为1, f代表的是f个人朋友,然后输入每份蛋糕的半径 // 将n块蛋糕分成 f+1 份 每一份都是完成的一块蛋 ...

  8. POJ-3122.Pie(二分法最大化平均值)

    二分法的主题思路就是逐步逼近,所以这道题的思路自然一目了然,做题思路也是... 本题大意:题主过生日,它买了N块半径为R[ i ],高为1的圆柱形蛋糕,现在他要将这N块蛋糕等分给F + 1个人,为了好 ...

  9. POJ3122 Pie(二分)

    题目链接:http://poj.org/problem?id=3122 题意:一堆人分蛋糕,每人蛋糕大小一样,求最大能分多少,蛋糕必须是整块整块的,不能两块拼一起.然后注意输入F个人最后要分F+1份. ...

随机推荐

  1. SQLite 入门教程(三)好多约束 Constraints

    一.约束 Constraints 在上一篇随笔的结尾,我提到了约束, 但是在那里我把它翻译成了限定符,不太准确,这里先更正一下,应该翻译成约束更贴切一点. 那么什么是约束呢? 我们在数据库中存储数据的 ...

  2. eclipse中更改默认编码格式

    更改过程如下: (1)window->preferences->general->content Types, 选中java class file修改default encoding ...

  3. IIS7.5 去除 index.php web.config配置文件

    论坛里有很多关于去掉index.php的教程和代码,但是悲剧的是都是自己能配置服务器,并且服务器要么是 Apache,就是IIS 6- ...没有IIS7.5下是如何配置的. 我想大家应该有很多都是用 ...

  4. SpringMVC4+thymeleaf3的一个简单实例(篇一:基本环境)

    首语:用SpringMVC和thymeleaf实现一个简单的应用,包括基本环境搭建,SpringMVC4和thymeleaf3的整合,页面参数的获取,页面参数验证,以及用MySQL保存数据.我会把步骤 ...

  5. apple iphone 3gs 有锁机 刷机 越狱 解锁 全教程(报错3194,3014,1600,短信发不出去等问题可参考)

    以自身经历列步骤如下:(基本思路就是刷6.1.6,越狱,降级基带,解锁) 一.准备工作 1.下载3gs 6.1.6官方固件.地址:http://act.feng.com/wetools/index.p ...

  6. Centos6.2_(64位)服务器环境配置:源码编译Nginx

    目标软件都指定安装目录:/apps.由于Nginx可以使用正则表达式来匹配访问路径, 要正常使用此功能就保证安装有Pcre库,如果你已经接着上一篇操作过来,就可以不用考虑这一点,因为此库已经在安装列表 ...

  7. [HttpClient]传递参数

    package com.jerry.httpclient; import java.io.UnsupportedEncodingException; import java.util.ArrayLis ...

  8. 【技术宅11】php入门运算

    //1.空bool $a=''; $b=NULL; $c=false; $d=0; $e='0'; $f=array(); $g=array(array()); $h='NULL'; var_dump ...

  9. DEDECMS重要文件

    DEDECMS 重要文件dedecms/include/common.inc.php全局变量文件dedecms/include/extend.func.php自定义函数文件

  10. Python爬虫第一步

    这只是记录一下自己学习爬虫的过程,可能少了些章法.我使用过的是Python3.x版本,IDE为Pycharm. 这里贴出代码集合,这一份代码也是以防自己以后忘记了什么,方便查阅. import req ...