- 浏览: 203466 次
- 性别:
- 来自: 武汉
文章分类
- 全部博客 (137)
- c++ (74)
- c++,算法,回溯 (2)
- DP问题。 (9)
- DP问题,0/1背包问题 (3)
- 数学问题 (6)
- 贪心算法 (10)
- 排序 (16)
- 数据结构 (7)
- 容器 (2)
- 模拟问题 (2)
- 水题 (8)
- 并查集 (3)
- 非技术 (2)
- 素数问题 (1)
- DFS (3)
- 二叉树 (1)
- 递归 (1)
- 图论 (5)
- 最小生成树 (5)
- 最短路径 (6)
- bell_flaod算法 (2)
- hash (3)
- 二分查找 (1)
- 搜索 (5)
- BFS (5)
- STL (3)
- 字符串hash (1)
- 拓扑排序 (1)
- 字典树 (4)
- 哈弗曼树 (1)
- KMP (7)
- 线段树 (9)
- 树状数组 (6)
- 全排列 (2)
- DP问题 (2)
- LCS (1)
- 最长不下降子序列 (2)
- 面试经验 (3)
题意:作者要开一个生日party,他现在拥有n块高度都为1的圆柱形奶酪,已知每块奶酪的底面半径为r不等,作者邀请了f个朋友参加了他的party,他要把这些奶酪平均分给所有的朋友和他自己(f+1人),每个人分得奶酪的体积必须相等(这个值是确定的),形状就没有要求。现在要你求出所有人都能够得到的最大块奶酪的体积是多少? 思路:贪心的思想+二分。复杂度为O(nlogM),M为初始时的high-low。初始状态,上界high为每个人分得奶酪的体积sum,下界low = 0(或者是最小块的奶酪)。然后二分,每次的mid值为(low+high)/ 2,然后根据mid值(估计值)遍历n块奶酪,看看这个mid值能分给多少个人,如果份数大于等于f,表示mid偏小,low = mid,反之high = mid。 注意的问题: 1.数据得开double,开float的话精度不够,二分时 high - low > 0.000001 会出不来,导致 Time Limit Exceeded,而不是因为数据要求高而超时。 2.由于精度要求特别特别高,所以PI = 3.1415926535897932 和 high - low > 0.000001 是必 须的,也是这道题总是WA的地方。 代码如下: #include<iostream>
using namespace std;
const int Max = 10050;
const double PI = 3.1415926535897932;
int main()
{
int t, n, f, i;
double pie[Max];
scanf("%d", &t);
while(t--)
{
scanf("%d%d", &n, &f);
f++; // 加上作者一人。
double sum = 0;
for(i = 1; i <= n; i ++)
{
int r;
scanf("%d", &r);
pie[i] = r * r;
sum += pie[i];
}
double mid, low = 0, high = sum / f;
while(high - low > 0.000001)
{
mid = (low + high) / 2;
int count = 0; // count为当前mid值对应的能分给的人数。
for(i = 1; i <= n; i ++)
count += (int)(pie[i] / mid);
if(count >= f)
low = mid;
else high = mid;
}
printf("%.4lf\n", mid * PI);
}
return 0;
}
发表评论
-
虚函数、纯虚函数、虚基类、抽象类、虚函数继承、虚继承
2013-08-29 14:34 851虚函数:虚函数是C++中用于实现多态(polymorphis ... -
排序算法总结
2013-05-17 11:00 850选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法, ... -
poj 3273
2012-12-11 16:49 994题意:给你天数n,和每天需要花的钱,让你把这些天分成m份(每份 ... -
算法复习贪心算法poj2393
2012-08-09 16:52 1065题意:一个工厂每周要提供不同数量单位的酸奶酪,每周生产单位酸奶 ... -
算法复习之贪心算法poj2709
2012-08-09 16:14 1070题意:一套涂料有3~12种颜色,每种颜色50ml。Emily上 ... -
算法复习之贪心算法poj 065
2012-08-09 15:07 897题意:有n条木棒,给出它们每条的l和w,用一台机器对它们进行加 ... -
算法复习之贪心算法之poj 1323
2012-08-07 16:27 1255题意:一次card比赛,有m个参赛者(包括你),每个参赛者有n ... -
算法复习之贪心算法poj2586
2012-08-07 15:40 1236题意:对于MS Inc来说,每个月如果盈利则必盈利sur,如果 ... -
算法复习之贪心算法 poj 1328
2012-08-07 15:14 10194题意:地图的x轴的上方为海,下方为陆地,海中有n个小岛,坐标为 ... -
字典树学习材料
2012-05-30 14:29 975字典树,又称单词查找树,Trie树,是一种树形结构,典型应 ... -
poj 1159
2012-05-28 19:08 1451题目大意:给你一段字符串,让你求出在中间最少加入几个字符 ... -
poj 3176
2012-05-28 14:47 1032大致题意: 输入一个n层的三角形,第i层有i个数,求从第 ... -
poj 1260
2012-05-28 09:54 1621题意解释: 有n个等级的珠宝,等级依次升高,等级越高价钱越高 ... -
poj 1836
2012-05-28 09:22 2723是POJ2533的扩展题。题意不难,令到原队列 ... -
poj 2533
2012-05-26 15:36 1285在做这道题目之前,首先让我们了解一下什么是LIS算法,LIS俗 ... -
poj 3267
2012-05-26 09:43 809从程序可以看出,第i个位置到L所删除的字符数,总是先取最坏情况 ... -
poj 1276
2012-05-25 16:20 2406题意: 这道题的意思是给你一堆钱,各种面值的都有,比 ... -
poj 1094
2012-05-25 13:54 1114题意:给出字母个数,和有限个有序对(a<b)求出能确定字 ... -
poj 3393
2012-05-23 17:00 1264大致题意: 科普文一篇,文章80%都是无用信息,因为 ... -
poj 3007
2012-05-14 10:21 999大致题意: 给定一个字符串,从任意位置把它切为两半, ...
相关推荐
【标题】"POJ3122-Pie"是一道来自北京大学在线判题系统POJ(Problem Online Judge)的编程题目。这道题目通常被用于训练程序员的数据结构和算法技能,特别是解决数学问题的能力。在编程竞赛或者算法训练中,这类题目...
* 计算方法:计算方法是指解决问题的计算方法算法,如 poj3273、poj3258、poj1905、poj3122。 七、计算几何学 计算几何学是指解决问题的计算几何学算法,包括几何公式、叉积和点积的运用、多边型的简单算法和...
* 二分法求解单调函数相关知识:例如 poj3273、poj3258、poj1905、poj3122。 计算几何学 1. 几何公式。 2. 叉积和点积的运用:例如 poj2031、poj1039。 3. 多边型的简单算法(求面积)和相关判定(点在多边型内,...
1. **博弈论基础**:如Nim游戏策略(poj3273, poj3258, poj1905, poj3122)。 ### 九、数值分析 1. **数值方法**:包括数值积分、数值微分等(poj2031, poj1039)。 2. **数值稳定性**:关注算法的精度和稳定性...
- **例题**:poj3273, poj3258, poj1905, poj3122 - **解释**:概率统计问题通常涉及计算某个事件发生的概率。 ### 五、数值计算 #### 1. 数值分析 - **例题**:未列出具体题目 - **解释**:数值分析涉及数值计算...
- (poj3273, poj3258, poj1905, poj3122):研究两个或多个参与者之间的决策过程。 ### 六、数值计算 1. **精度控制**: - 如何处理浮点数的精度问题。 2. **高精度运算**: - 处理大数的加减乘除等操作。 3. ...
- POJ 1905、POJ 3122:复杂的几何计算问题。 ### 字符串处理 #### 后缀数组 - **题目示例**: - POJ 2031、POJ 1039:后缀数组的构建与应用。 #### 字典树 (Trie) - **题目示例**: - POJ 2513:Trie树的...
- poj3122 - **应用场景**:适用于数值分析、方程求解等问题。 #### 七、计算几何学 **1. 几何公式** - **定义**:包括计算面积、周长等。 - **示例题目**: - poj1265 - poj1423 - **应用场景**:适用于图形...
- **示例题目**: poj3273, poj3258, poj1905, poj3122 ### 六、组合数学 #### 1. 组合数学 - **内容**: 包括排列组合、容斥原理等问题。 - **示例题目**: 未给出具体题目 - **知识点**: - **排列组合**:从n个...
看英文题目一开始看不大懂,下面做一下解释:本体就是作者开party然后就做了不同大小不同口味的N个Pie,现在他有k个朋友要参加这个party,但是他的朋友和他要分到相同体积的pie,pie都是圆柱形的,高度全为1....
- poj3273, poj3258, poj1905, poj3122 七、计算几何学 * 几何公式 * 叉积和点积的运用:poj2031, poj1039 * 多边型的简单算法:poj1408, poj1584 * 凸包:poj2187, poj1113 中级部分: 一、基本算法 * C++的...
(3) 计算方法:poj3273, poj3258, poj1905, poj3122 八、计算几何学 本部分涵盖了计算几何学,包括几何公式、叉积和点积的运用、多边型的简单算法和相关判定、凸包等。 (1) 几何公式: (2) 叉积和点积的运用:poj...
poj3252、poj1850、poj1019和poj1942等题目涉及组合数学,poj2635、poj3292、poj1845和poj2115则与数论相关,而poj3273、poj3258、poj1905和poj3122则需要使用到计算方法。 七、计算几何学 计算几何学是处理几何...
- 示例题目:poj3273, poj3258, poj1905, poj3122 #### 字符串算法 1. **模式匹配** - 示例题目:poj2031, poj1039 2. **后缀数组** - 示例题目:poj2031, poj1039 3. **后缀自动机** - 示例题目:poj1408, ...
例题:poj3273、poj3258、poj1905、poj3122。 七、计算几何学 * 几何公式:几何公式是指用于计算几何形状的面积、周长和体积的算法。例题:无。 * 叉积和点积的运用:叉积和点积是指用于计算几何形状的面积、周长...
- 示例题目:POJ 3273, POJ 3258, POJ 1905, POJ 3122 #### 三、总结 通过对上述知识点的学习和实践,初学者不仅能够更好地理解各种算法背后的原理,还能逐渐积累解决问题的经验。在选择题目时,建议从简单的题目...
- POJ 3273, POJ 3258, POJ 1905, POJ 3122 这些题目可能涵盖了一些较为特殊的概率统计问题,例如概率生成函数的应用等。 ### 几何学 1. **几何计算** - POJ 2031, POJ 1039 几何学问题涉及到图形的位置、大小...
- POJ 3122 以上是对给定文件中提及的各种算法类型的详细介绍。每种算法都有其独特的应用场景和解决特定类型问题的能力。掌握这些算法不仅能够帮助解决实际问题,还能够提升编程能力,对于参加ACM竞赛或从事软件...
- **示例题目**: POJ 3273, POJ 3258, POJ 1905, POJ 3122 - **注意事项**: 理解二分法的基本思想和实现细节。 #### 七、计算几何学 **1. 几何公式** - **定义**: 包括面积、周长等基本几何概念。 - **应用...
- POJ 3122: 组合几何的复杂案例 #### 四、高级算法 这部分涵盖了更复杂的算法和技术,适合进阶学习。 - **线性代数**:包括矩阵运算、行列式计算等。 - **几何算法**:包括凸包、最近点对等问题。 - **计算几何...