poj3737(三分搜索)
来源:互联网 发布:无线传感器网络的特点 编辑:程序博客网 时间:2024/05/11 22:24
题意:给出一个圆锥的表面积(侧面积+底面积),求圆锥的最大体积。
解法:三分半径。左边界随便取个极小的数,右边界可以假定这个圆锥是平的,高是0.这是底面积的二倍是表面积。
代码:
/******************************************************* author:xiefubao*******************************************************/#pragma comment(linker, "/STACK:102400000,102400000")#include <iostream>#include <cstring>#include <cstdlib>#include <cstdio>#include <queue>#include <vector>#include <algorithm>#include <cmath>#include <map>#include <set>#include <stack>#include <string.h>//freopen ("in.txt" , "r" , stdin);using namespace std;#define eps 1e-8const double pi=acos(-1.0);typedef long long LL;const int Max=10100;const int INF=1000000007;double v;double vol(double r){ double tool=v-pi*r*r; double len=tool/pi/r; double high=sqrt(len*len-r*r); return pi*r*r*high/3.0;}double gethigh(double r){ double tool=v-pi*r*r; double len=tool/pi/r; return sqrt(len*len-r*r);}int main(){ while(scanf("%lf",&v)==1) { double left=0.1,right=sqrt(v/2.0/pi); while(right-left>eps) { double middle=(left+right)/2; double middleright=(middle+right)/2; if(vol(middle)>vol(middleright)) right=middleright; else left=middle; } double high=gethigh(left); printf("%.2f\n",left*left*pi*high/3.0); printf("%.2f\n",high); printf("%.2f\n",left); } return 0;}
0 0
- poj3737(三分搜索)
- poj3737 UmBasketella [三分]
- poj3737 UmBasketella(三分)
- [复习][poj3737]三分 UmBasketella
- 二分、三分小结(ZOJ3203 HDU2438 HDU4717 HDU2199 POJ3737 HDU4355 HDU3400 HDU4004)
- [POJ3737]UmBasketella(三分法)
- POJ3737
- POJ3737
- 分治搜索(二分,三分)
- 三分搜索
- 三分搜索
- 三分搜索
- 三分搜索
- 三分搜索
- 三分搜索
- 三分搜索
- HDU 3400(搜索题,三分~~初识三分查找)
- 搜索 三分搜索法
- 数据库索引,索引类型,各自特点
- 安卓移动App保护、爱加密App安全加固!
- 杭州软件测试工程师培训
- 实现ios提示音播放与震动
- C++ primer 读书笔记(6)
- poj3737(三分搜索)
- find_bootmap_pfn
- [总结]FFMPEG视音频编解码零基础学习方法
- WebService 数据处理
- java--打开图片--显示图片--保存图片
- java 正则表达式
- 暴风影音5【版本:5.36.0428.1111】---给您影院般的“极致”体验
- ZOJ 3700 Ever Dream
- swig