hdu2298.Toxophily
来源:互联网 发布:淘宝关键词设置 编辑:程序博客网 时间:2024/04/29 14:17
这是一道二分的题目,仅用二分的知识也是可以解出来的但是比较麻烦。还需要用到微积分的知识或者需要用到三分法的知识,不懂三分的建议去看看,这里讲一下数学知识解函数。
根据物理分析x,y轴的
x=v*cos(α)*t;
y=v*sin(α)-g*t*t/2;
解方程组就行了g*x*x*tan(α)*tan(α)-2*v0*v0*tan(α)*x+g*x*x+2*v0*v0*y=0求α的最小值。
#include<iostream>
using namespace std;
#include<cmath>
#include<stdio.h>
const double g=9.80000;
const double L=1e-8;
const double PI=3.1415926535898;
double x,y,v;
int main()
{
double m;
double i,j,t;
int N;
cin>>N;
while(N--)
{
cin>>x>>y>>v;
double a=g*x*x;
double b=-2*v*v*x;
double c=g*x*x+2*v*v*y;
if(x==0)
{
if(y==0)cout<<"0.000000"<<endl;
else printf("%.6lf\n",PI/2);
continue;
}
double M=b*b-4*a*c;
if(M<0){cout<<"-1"<<endl;continue;}
double k1=(-b-sqrt(b*b-4*a*c))/(2*a);
double k2=(-b+sqrt(b*b-4*a*c))/(2*a);
if(k1<0)printf("%.6lf\n",atan(k2));
else if(k2<0)printf("%.6lf\n",atan(k1));
else printf("%.6lf\n",atan(k1)<atan(k2)?atan(k1):atan(k2));
}
return 0;
}
- hdu2298.Toxophily
- hdu2298 Toxophily 三分+二分
- Toxophily(hdu2298三分+二分)
- 推导公式 hdu2298 Toxophily
- 【hdu2298】【三分】Toxophily
- HDU2298:Toxophily(三分 + 二分)
- 【hdu2298】Toxophily——三分+二分
- 暑期集训训练3练习题B - Toxophily(HDU2298)
- HDU2298
- Toxophily
- Toxophily
- Toxophily
- Toxophily
- 4Toxophily
- 1004 Toxophily
- 1004 Toxophily
- 1004 Toxophily
- 1004Toxophily
- 白话压缩感知(含Matlab代码)
- 伏特加和复印件如同
- 网页发送表情遇到的问题
- Silverlight下的Socket通讯
- 是否更换
- hdu2298.Toxophily
- UIScrollview不能滚动的原因
- OpenCV基础篇之绘图及RNG随机数对象
- OpenCV基础篇之像素访问
- VC中利用多线程技术实现线程之间的通信
- 去石子游戏之博弈与最优策略
- 《JavaScript高级程序设计 第三版》学习笔记 (二)执行环境与作用域链
- 加州理工学院公开课:机器学习与数据挖掘_学习问题(第一课)
- Balanced Lineup+POJ+RMQ问题