|NOIOJ|二分|05:派

原创 2016年05月31日 18:13:09
描述

我的生日要到了!根据习俗,我需要将一些派分给大家。我有N个不同口味、不同大小的派。有F个朋友会来参加我的派对,每个人会拿到一块派(必须一个派的一块,不能由几个派的小块拼成;可以是一整个派)。

我的朋友们都特别小气,如果有人拿到更大的一块,就会开始抱怨。因此所有人拿到的派是同样大小的(但不需要是同样形状的),虽然这样有些派会被浪费,但总比搞砸整个派对好。当然,我也要给自己留一块,而这一块也要和其他人的同样大小。

请问我们每个人拿到的派最大是多少?每个派都是一个高为1,半径不等的圆柱体。

输入 第一行包含两个正整数N和F,1 ≤ N, F ≤ 10 000,表示派的数量和朋友的数量。
第二行包含N个1到10000之间的整数,表示每个派的半径。 输出 输出每个人能得到的最大的派的体积,精确到小数点后三位。
样例输入
3 3
4 3 3
样例输出
25.133

二分答案题目,与之前跳房子月度开销不同的是这里有浮点数,最好开double不要开float 这题细节比较多:1、pi的精度最好多一点,3.1415926535892、自己要吃,f要加一(我做题时就忘了)3、由于浮点数,原来l+1<r改为l+0.000001<r4、ans用整数以免出现几个不同品种的蛋糕拼在一起5、然后r取最大蛋糕体积即可Ps:二分越来越熟练了,做题也快了很多!

参考代码:
#include<cstdio>
const double pi=3.141592653589;
int n,f;
double mid,l=0,r=0;
double cake[10200];
void init() {
	scanf("%d%d", &n, &f);
	f++; //fix:自己也要吃 
	for (int i=1;i<=n;i++) {
		int ran;
		scanf("%d", &ran);
		cake[i] = ran*ran*pi;
		if (cake[i]>r) r = cake[i];
	}
	r++; 
}
int check(double x) {// 比f多 return 1
	int ans=0;
	for (int i=1;i<=n;i++) {
		ans += cake[i] / x;
	}
	if (ans>=f) return 1; else return 0; 
}
void go() {
	while (l+0.000001<r) {
		mid = (l+r)/2;
		if (check(mid)) l=mid; else r=mid;	
	}
	printf("%.3f", l);
}
int main() {	
	init();
	go();
	return 0;
}


版权声明:博客停更,请到"再见,CSDN"文章中找新博客地址

NOI题库05 派

05:派 Description 我的生日要到了!根据习俗,我需要将一些派分给大家。我有N个不同口味、不同大小的派。有F个朋友会来参加我的派对,每个人会拿到一块派(必须一个派的一块,不能由几个派的...
  • hahalidaxin
  • hahalidaxin
  • 2016年03月30日 17:27
  • 871

派-详解-noi.openjudge.cn-二分答案

派-网址:http://noi.openjudge.cn/ch0111/05/ 总时间限制: 1000ms 内存限制: 65536kB 描述 我的生日要到了!根据习俗,我需要将一些派分给大...
  • legan
  • legan
  • 2016年10月11日 20:19
  • 2840

POJ派

描述 我的生日要到了!根据习俗,我需要将一些派分给大家。我有N个不同口味、不同大小的派。有F个朋友会来参加我的派对,每个人会拿到一块派(必须一个派的一块,不能由几个派的小块拼成;可以是一整个派)。我...
  • hyqsblog
  • hyqsblog
  • 2015年10月16日 19:42
  • 674

05派 OJ

总时间限制: 1000ms内存限制: 65536kB 描述 我的生日要到了!根据习俗,我需要将一些派分给大家。我有N个不同口味、不同大小的派。有F个朋友会来参加我的派对,每个人会拿到一块派...
  • sinat_34943123
  • sinat_34943123
  • 2016年05月10日 22:28
  • 408

今天是我生日....

又大了一岁....去年这个时候的我,应该没现在这么成熟吧, 这一年没白过 反正过的是比以前要充实好多,呵呵,虽然也比以前累了很多10点这个时候,一般我都已经睡了的, 最近又开始不规律起来了,肠胃不大好...
  • aca_jingru
  • aca_jingru
  • 2007年11月05日 23:20
  • 425

今天是我的生日

自懂事以来,这是我第一次一个人在异国他乡过生。我没告诉同事,一上班,就收到妞妞的贺卡,然后是月月的,最后是妈妈的,心中还是有些感动。但我今天把skype和yahoo通都设成隐身了,不想有人“打扰”(好...
  • zhao4stones
  • zhao4stones
  • 2007年06月11日 17:21
  • 383

【openjudge】派 二分查找

05:派总时间限制: 1000ms 内存限制: 65536kB 描述 我的生日要到了!根据习俗,我需要将一些派分给大家。我有N个不同口味、不同大小的派。有F个朋友会来参加我的派对,每个人会拿到一块...
  • zhhe0101
  • zhhe0101
  • 2016年10月14日 20:39
  • 267

|NOIOJ|二分|04:网线主管

描述 仙境的居民们决定举办一场程序设计区域赛。裁判委员会完全由自愿组成,他们承诺要组织一次史上最公正的比赛。他们决定将选手的电脑用星形拓扑结构连接在一起,即将它们全部连到一个单一的中心服务器。为了组...
  • Darost
  • Darost
  • 2016年05月31日 19:10
  • 436

csuoj-1723-想打架吗?算我一个!所有人,都过来!

Description 现在《炉石传说》这款卡牌游戏已经风靡全球。2015年加入环境的“黑石山的火焰”扩展带来了一个新套牌的核心卡片“恐怖的奴隶主”,而这套统治游戏的套牌叫做“奴隶战”。“恐怖的...
  • Ypopstar
  • Ypopstar
  • 2016年04月24日 18:29
  • 544

我原来自定义的一些CSDN BLOG样式.

body { font-size: 12px; text-decoration: none;}.postTitle { font-size: 14px; font-weight: bold; colo...
  • kgdiwss
  • kgdiwss
  • 2005年06月18日 18:17
  • 957
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:|NOIOJ|二分|05:派
举报原因:
原因补充:

(最多只允许输入30个字)