POJ 3122 二分
来源:互联网 发布:关于费米估算法的书 编辑:程序博客网 时间:2024/06/10 18:45
大致题意:
就是公平地分披萨pie
我生日,买了n个pie,找来f个朋友,那么总人数共f+1人
每个pie都是高为1的圆柱体,输入这n个pie的每一个尺寸(半径),如果要公平地把pie分给每一个人(就是所有人得到的pie尺寸一致,但是形状可以不同),而且每个人得到的那份pie必须是从同一个pie上得到的
后面那句很重要,
就是说如果有3个pie, 尺寸分别为1,2,3,
如果要给每人尺寸为2的pie,那么最多分给2个人,而不是3个人
因为第一个pie尺寸为1,小于2,扔掉
第二个pie尺寸为2,等于2,刚好分给一个人
第三个pie尺寸为3,切出尺寸为2的一份,分给一个人,剩下的尺寸为1的就扔掉
千万不要陷入 (1+2+3)/2=3人的误区,这样就变成求平均了
(转自小優YoU的blog http://blog.csdn.net/lyy289065406/article/details/6648565)
就这么随便搞一搞就AC了。
// by SiriusRen#include <cstdio>#include <algorithm>using namespace std;double pi=3.1415926535898,l,r,a[10005];int cases,n,f;int main(){ scanf("%d",&cases); while(cases--){ l=r=0; scanf("%d%d",&n,&f); for(int i=1;i<=n;i++)scanf("%lf",&a[i]),a[i]*=a[i],r=max(r,a[i]); while(r-l>=1e-6){ int jy=0; double mid=(l+r)/2.0; for(int i=1;i<=n;i++)jy+=(int)a[i]/mid; if(jy>f)l=mid; else r=mid; } printf("%.4lf\n",r*pi); }}
0 0
- POJ 3122 Pie 二分
- POJ 3122 Pie 二分
- poj-3122-二分
- POJ 3122 二分查找
- poj 3122(二分)
- poj 3122 Pie (二分)
- poj 3122 二分
- Pie - POJ 3122 二分
- POJ 3122 Pie(二分)
- POJ 3122pie(二分)
- POJ 3122(二分)
- POJ 3122 pie 二分
- [poj 3122] Pie 二分
- POJ 3122 二分
- poj 3122 二分
- POJ Pie 3122 (二分)
- POJ 3122 - Pie(二分)
- POJ 3122(二分算法)
- Python Web 6 —— Python操作MongoDB数据库
- 离线安装Cloudera
- 2016计蒜之道复赛 微信钱包付款
- linux dmesg命令参数及用法详解(linux显示开机信息命令)
- 2016-7-3 杂感
- POJ 3122 二分
- 在iOS开发中,需要用到的多线程技术。
- 网页弹出表格窗口
- Spring中的依赖原理
- 集成ffmpeg/x264:ERROR: libx264 not found的问题
- Makefile介绍
- task多任务处理
- mac hbase程序启动警告:找不到hadoop native lib
- C语言文件的编译与执行的四个阶段