搜索—二分三分搜索—1004
来源:互联网 发布:中国未来人口 知乎 编辑:程序博客网 时间:2024/05/22 11:41
这个题主要是一个公式的推导还有二分法和三分法的综合运用。。
思路:先三分出一个角度,让抛物线在x=x0出的y取得最大值。然后再到这个y一下去二分一个合适的值。
代码:
#include<stdio.h>
#include<algorithm>
#include<string.h>
#include<math.h>
#define PI acos(-1.0)
#define G 9.8
#define eps 1e-12
using namespace std;
double X,Y,v,sita;
double cal(double x)
{
double t;
t=X/(v*cos(x));
return v*sin(x)*t-0.5*G*t*t;
}
double triplediv()
{
int i;
double mid1,mid2,left,right,h1,h2;
left=0,right=0.5*PI;
for(i=1;i<=100;i++)
{
mid1=(2*left+right)/3;
mid2=(left+2*right)/3;
h1=cal(mid1);
h2=cal(mid2);
if(h1>h2)
{
right=mid2;
}
else
{
left=mid1;
}
}
sita=left;
return cal(left);
}
void doublediv(double maxy)
{
int i;
double left,right,mid,h;
left=0,right=sita;
for(i=1;i<=100;i++)
{
mid=(left+right)/2;
h=cal(mid);
if(h>Y)
right=mid;
else
left=mid;
}
printf("%.6lf\n",left);
}
int main()
{
int t;
double maxy;
scanf("%d",&t);
while(t--)
{
scanf("%lf%lf%lf",&X,&Y,&v);
maxy=triplediv();
if(maxy<Y)
printf("-1\n");
else
doublediv(maxy);
}
return 0;
}
0 0
- 搜索—二分三分搜索—1004
- 二分搜索和三分搜索
- 分治搜索(二分,三分)
- 三分搜索——初见
- 二分搜索与三分搜索的应用
- 三分搜索
- 三分搜索
- 三分搜索
- 三分搜索
- 三分搜索
- 三分搜索
- 三分搜索
- hdoj 2899 Strange fuction (三分搜索 二分搜索)
- 搜索 三分搜索法
- 算法——二分搜索
- 三分搜索--hdu2241 考研路茫茫——早起看书
- [搜索算法]三分搜索初步
- 三分搜索法
- 第七周项目2-友元类
- C++作业4
- 第四次上机实验报告
- 如何阅读一本书(10)
- [hdu 5532] [2015ACM/ICPC亚洲区长春站 ] Almost Sorted Array 最长不下降子序列
- 搜索—二分三分搜索—1004
- asp.net js与后台C#代码相互调用
- ExtJs 入门教程
- 第十八篇【测试数据准备的那些事儿--后话】
- STM32F4毕业设计(1)
- 第七周项目3-用多文件组织多个类的程序1.game.h:类声明
- 对Adobe Photoshop CS中的混合模式理解
- TestNG 学习总结 - 参数化测试(十二)
- 第8周项目1