POJ 3122 分饼
来源:互联网 发布:ubuntu deb 安装 依赖 编辑:程序博客网 时间:2024/04/30 00:25
问题描述:n 个大小不等的圆形饼,分给m 个人。要求每个人分得的大小相等,每个人只能有一块。那么最大的分隔方案是什么?
解题的方案就是二分查找的思想。 最大的可行分隔大小就在[0, 最大的饼的大小]之中。
如何判断选定的分割方案是否合适:就是以该方案进行分割,看其是否能够满足m 个人的需求。
问题链接 点击打开链接
#include<iostream>#include<cmath>using namespace std;static double s[10000];static int n, f;double search(double max){double l, r, m;int i, count;l = 0.0;r = max; while (l < r && (r -l) >= 10e-6){m = (l + r) / 2;for (count = 0, i = 0; i < n; i++){count += floor(s[i] / m);}if (count >= f + 1)l = m;elser = m;}return m;}int main(){int t;const double pi = acos(-1.0);cin >> t;while (t-- > 0){cin >> n >> f;int i, r;double maxarea;for (maxarea = -1.0, i = 0; i < n; i++){cin >> r;s[i] = pi * r * r;if (s[i] > maxarea)maxarea = s[i];}printf("%.4lf\n", search(maxarea));}return 0;}
浮点数的精度问题需要注意。
- POJ 3122 分饼
- poj 3122 二分 分蛋糕
- poj 2083 分形
- POJ 2104 分桶
- POJ 3122/HDU 1969-Pie-二分法分馅饼
- POJ 1364 差分约束
- poj 1020 分蛋糕问题
- POJ 1716 差分约束
- POJ 1275 差分约束
- POJ 1941 三角形分形
- poj 3169 差分约束
- poj 1201 差分约束
- POJ 3169 差分约束
- poj 1201 差分约束
- poj 1275 差分约束
- POJ 1364 差分约束
- POJ 3169 差分约束
- POJ 3169 差分约束
- linux设备驱动第二篇:构造和运行模块
- libvirt命令行文档
- Surrounded Regions
- c#三周总结6 类继承
- sp_configure
- POJ 3122 分饼
- LeetCode - Next Permutation
- 图书推荐:SQL Server 2012 T-SQL基础教程 Itzik Ben-Gan
- 项目代码风格要求
- win7配置iis支持asp.net mvc
- 关于javaweb中遇到的一些错误整理
- [matlab]mathworks上的cody challenge题解及一些常用函数的总结(7)
- 图像操作 窗口停靠
- 谈.net开发人员应该熟悉的开发模式