计算几何 ural 1753
2012-03-19 12:32
218 查看
题意:求book在下滑过程中,中心距书架左边栏最远距离。
思路:刚开始并没有思路,只是简单的推出:在最开始的时候,book的中心距书架左边栏的距离(简称最左边距)为0,当book的中心与书架左边栏顶部重合时,最左边距也为0.那么最左边距的最大值肯定在这之间产生。搜了别人的题解,了解到三分法。至于什么是三分法,我也是刚了解,只知道,单峰函数三分法,函数在给定定义域内有不超过一个的峰值,可以根据其单峰特性来三分逼近答案。
#include <iostream> #include <cstdio> #include <cstring> #include <cmath> using namespace std; #define eps 1e-8 int main() { double h, H, l; scanf("%lf %lf %lf", &h, &H, &l); H /= 2; double left, right, tmp, mid1, mid2, ans1, ans2; left = eps; tmp = sqrt(H*H - h*h); if (tmp <= l) right = tmp; else right = l; while (fabs(right - left) > eps) { mid1 = (left + right) / 2; mid2 = (left + mid1) / 2; ans1 = mid1*H/sqrt(mid1*mid1+h*h) - mid1; ans2 = mid2*H/sqrt(mid2*mid2+h*h) - mid2; if (ans1 > ans2) left = mid2; else right = mid1; } printf("%.6lf\n", ans1); return 0; }
相关文章推荐
- 计算几何 ural 1793Tray 2
- URAL 1753 Bookshelf (三分答案)
- ural1753Bookshelf 三分
- ural1753_三分
- 计算几何 ural 1754. Explosion in a Pyramid
- bzoj1753 [Usaco2005 qua]Who's in the Middle
- URAL 1877 Bicycle Codes
- URAL 1878 Rubinchik's Cube 水题
- URAL 1416 Confidential(次小生成树)
- URAL 1804 The Machinegunners in a Playoff(模拟比赛得分)
- URAL 1993-This cheeseburger you don't need (模拟)
- URAL1132_Square Root
- hdu 1753
- URAL1005 - Stone Pile - 动态规划
- ural 1772
- POj 1753--Flip Game(位运算+BFS)
- 大明A+B hdu acm 1753 c++
- 计算几何算法基础————判断线段相交
- URAL 1090. In the Army Now
- URAL 1971 Graphics Settings 取对数(高精度易超时)