poj3122 pie
方法:二分。
题目意思:要过生日了,我请大家吃pie,然后人数一共是f+1(我自己)。每个人的pie不能是拼接的,而且每个人的面积是一样的,这样就用二分枚举。
范围是0~最大的那块pie。
然后用每一块去除枚举值,加到cnt上,当cnt>=f+1时候找大一点的面积, 否则找小一点的面积
pie的值要取得精确一点 , = =
另外在输出时候要是%f,如果用%lf会WA的。
上代码!
#include <stdio.h>
#include <math.h>
#define pie 3.1415926535897932384626433
double Pies[+];
int n,f;
double find(double mmax){
int cnt;
int i;
double left=;
double right=mmax;
double mid;
double res=;
while(right-left>0.00001){
mid=(right+left)/;
cnt=;
for(i=;i<n;++i){
cnt+= (int)(Pies[i]/(mid));
}
if(cnt>=f){
left=mid;
if(mid>res)
res=mid;
}
else right=mid;
}
return mid;
} int main(){
int i,j;
int Case;
double mmax;
double res;
while(~scanf("%d",&Case)){
while(Case--){
scanf("%d%d",&n,&f);
f++;
mmax=-;
for(i=;i<n;++i){
scanf("%lf",&Pies[i]);
Pies[i]=pie*Pies[i]*Pies[i];
if(Pies[i]>mmax) mmax=Pies[i];
}
res=find(mmax);
printf("%.4f\n",res);
}
}
return ;
}
poj3122 pie的更多相关文章
- poj3122 Pie (二分)
题目链接:https://vjudge.net/problem/POJ-3122 题意:有n块饼,m+1个人,将饼均分成m+1块,求每块最大的大小. 思路:水二分,显然每块的大小与可以给多少人吃具有单 ...
- POJ3122 Pie(二分)
题目链接:http://poj.org/problem?id=3122 题意:一堆人分蛋糕,每人蛋糕大小一样,求最大能分多少,蛋糕必须是整块整块的,不能两块拼一起.然后注意输入F个人最后要分F+1份. ...
- POJ-3122.Pie(二分法最大化平均值)
二分法的主题思路就是逐步逼近,所以这道题的思路自然一目了然,做题思路也是... 本题大意:题主过生日,它买了N块半径为R[ i ],高为1的圆柱形蛋糕,现在他要将这N块蛋糕等分给F + 1个人,为了好 ...
- 【poj3122】 Pie
http://poj.org/problem?id=3122 (题目链接) 题意 给出N个pie的半径和F个friend,每个friend得到的pie必须一样,求每个人能得到的pie的最大大小. so ...
- Pie(二分POJ3122)
Pie Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 12985 Accepted: 4490 Special Ju ...
- 【二分答案】【POJ3122】【Northwestern Europe 2006】Pie
Pie Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 10629 Accepted: 3744 Special Ju ...
- [No0000A2]“原始印欧语”(PIE)听起来是什么样子?
"Faux Amis"节目中经常提到"原始印欧语"(PIE)——"Proto-Indo-European". 我们说过,英语,法语中的&qu ...
- poj3311 Hie with the Pie (状态压缩dp,旅行商)
Hie with the Pie Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 3160 Accepted: 1613 ...
- pygame 练习之 PIE game (以及简单图形训练)
简单的大饼游戏,掌握pygame中直线以及圆弧的画法,以及对输入的响应. import math import pygame, sys from pygame.locals import * pyga ...
随机推荐
- 基于jquery的表单校验插件 - rjboy的Validform使用体验
官方地址:http://validform.rjboy.cn/document.html 引用js后再加上以下css就可以使用了 .Validform_checktip{ margin-left:8p ...
- 深入ThreadLocal之三(ThreadLocal可能引起的内存泄露)
threadlocal里面使用了一个存在弱引用的map,当释放掉threadlocal的强引用以后,map里面的value却没有被回收.而这块value永远不会被访问到了. 所以存在着内存泄露. 最好 ...
- Python2.7.5 安装(转载)
From:http://www.cnblogs.com/balaamwe/p/3480430.html From:http://www.chgon.com/?p=1340 安装python2.7.5纠 ...
- Python标准库08 多线程与同步 (threading包)
Python主要通过标准库中的threading包来实现多线程.在当今网络时代,每个服务器都会接收到大量的请求.服务器可以利用多线程的方式来处理这些请求,以提高对网络端口的读写效率.Python是一种 ...
- 安装ipython import path error
sudo pip install ipython --upgrade # 升级 版本兼容性问题,升级到最新版本的ipython 后,会报错 from pickleshare import Pickle ...
- NodeJS常用工具
一.NodeJS版本管理器n或者nvm npm install -g n npm install n -g --registry=https://registry.npm.taobao.org --v ...
- linux内核设计与实现--从内核出发
linux内核有两种版本:稳定的和处于开发中的. linux通过一种简单的命名机制来区分稳定的和处于开发中的内核,使用3个或者4个“.”分割的数字来代表不同内核版本. 如:2.6.26.1:第一个数字 ...
- DualPivotQuicksort 排序算法解析
DualPivotQuicksort是JDK1.7开始的采用的快速排序算法. 一般的快速排序采用一个枢轴来把一个数组划分成两半,然后递归之. 大量经验数据表面,采用两个枢轴来划分成3份的算法更高效,这 ...
- Intellisense for Xrm.Page in CRM 2011
Intellisense for Xrm.Page in CRM 2011 In CRM 2011 javascripts for crm forms can be stored externally ...
- eclipse对项目整理分类
1.Eclipse提供了工作集(Working Set)的功能,它可以用来划分这些项目. 在Package Explorer视图的下拉菜单里选择Show->Working Sets,然后还是在它 ...