题目链接【hdu2298】

题目大意

建立一个二维坐标系,给你一个向上速度V,让你求出最小的角度使得你射出的箭能够到达给定的点(x,y)。如果不能输出为-1,如果能到达,输出最小的角度
总共T组数据
每组数据给定三个数 X, Y, V
T ≤ 100.
0 ≤ x, y, v ≤ 10000.

思路

首先这题是一道物理题,需要我们根据题意抽象一个函数出来。对物体的运动作分解后,可以得到:
f(t)=x*tan(t)-g*x*x/(v*cos(t))^2/2,其中t表示v与x轴正向的夹角(弧度),f(t)表示物体的运动轨迹与直线x0=x的交点纵坐标。
分析后可以得到该函数在区间(0,π/2)上先增后减,所以我们可以在该区间上三分,求出使函数取得极大值的角度t0。若f(t0)< y,则无解;否则对区间(0,t0)二分,找到使得f(t)=y的t值,即为所求。

代码

#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <cstdlib>
#include <iomanip>
#include <cmath>
#define eps 1e-9
#define g 9.8
using namespace std;
const double pi=acos(-1.0);
double x,y,v;
inline double qf(double t){return x*tan(t)-g*x*x/2/(v*v*cos(t)*cos(t));
}
int main(){int T;scanf("%d",&T);while(T--){scanf("%lf%lf%lf",&x,&y,&v);double mid1,mid2,l=0,r=pi/2,mid;while(l<r-eps){mid1=(2*l+r)/3;mid2=(l+2*r)/3;if(qf(mid1)<qf(mid2)) l=mid1;else r=mid2;}double mi=(mid1+mid2)/2;if(qf(mi)<y)printf("-1\n");else{l=0;r=mi;while(l<r-eps){mid=(l+r)/2;if(qf(mid)<y)l=mid;else r=mid;}printf("%.6lf\n",mid);}}return 0;
}

…就是这样了

【hdu2298】【三分】Toxophily相关推荐

  1. 【hdu2298】Toxophily——三分+二分

    题目: Toxophily Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) To ...

  2. HDU 2298 Toxophily 【三分算法 or 直接推导物理公式】

    http://acm.hdu.edu.cn/showproblem.php?pid=2298 题目大意:Bob在(0,0)点想射在(x, y)点的水果,初始的速度为v(已知), g=9.8, 求最小的 ...

  3. CSU-ACM2017暑期训练5-三分 D - Toxophily HDU - 2298

    题目: The recreation center of WHU ACM Team has indoor billiards, Ping Pang, chess and bridge, toxophi ...

  4. 0x04.基本算法 — 二分和三分

    目录 一.二分 0.二分法 1.整数域上的二分 2.实数域上的二分 二.三分 0.三分求单峰函数极值 1.P3382 [模板]三分法(秦九韶求多项式+三分) 三.二分答案转化为判定 0.经典例子 1. ...

  5. python刷题一亩三分地_手把手教你用python抓网页数据【一亩三分地论坛数据科学版】...

    前言:. visit 1point3acres.com for more. 数据科学越来越火了,网页是数据很大的一个来源.最近很多人问怎么抓网页数据,据我所知,常见的编程语言(C++,java,pyt ...

  6. HDU-4454 Stealing a Cake 三分枚举

    题意:给定一个点,一个圆,以及一个矩形,现在问从一个点到一个圆再到一个矩形的最短距离为多少?到达一个目标可以只挨着或者穿过它. 解法:目前只知道从一个点到圆上按照[0,PI],[PI,2*PI]的两个 ...

  7. hihoCoder #1142 : 三分求极值

    #1142 : 三分·三分求极值 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 这一次我们就简单一点了,题目在此: 在直角坐标系中有一条抛物线y=ax^2+bx+c和一 ...

  8. CF 8D Two Friends (三分+二分)

    转载请注明出处,谢谢http://blog.csdn.net/ACM_cxlove?viewmode=contents    by---cxlove 题意 :有三个点,p0,p1,p2.有两个人ali ...

  9. 七分结构三分代码-直立车想节能

    沉睡的小灰 2021-01-27 Wednesday ⊙ 原文链接: 直立车想节能--2020全国大学生智能车车竞赛经验记录之梦的开始 ▌黄粱一梦   如今回首,我不懂我一个通信工程的为什么要去做这个 ...

最新文章

  1. Linux基础命令---ipcs显示进程tong
  2. 论机智,还是国产安卓旗舰花样多,从2999到10999元,各有各的“开窍点”
  3. Atlassian In Action - (Atlassian成长之路)
  4. WinXP SSH连接不上虚拟机的解决方法
  5. 用CFree写的Windows SDK 画线程序
  6. 解决ftp上传connection reset错误
  7. 过分了,这样阅读Datasheet(数据手册)合适吗?
  8. jQuery实现radio第一次点击选中第二次点击取消功能(转)
  9. GetManifestResourceStream得到的Stream是null的解决
  10. Codeforces Round #236 (Div. 2) C. Searching for Graph(水构造)
  11. chmod chown
  12. 现在在做的项目的一些感想.
  13. 【C#】基于Opencv/Emgucv的身份证识别
  14. keil出现stdin(‘-’)combined with other files
  15. 开发微信支付功能之微信限制金额说明
  16. 2017.12.10《“剑锋OI”普及组多校联盟系列赛(14)#Sooke#Kornal 的课余时间 》分析报告
  17. Android动画制作
  18. 数字内容产业的政策背景与发展现状
  19. Java String类概述
  20. php抓取curl下载文件,PHP 利用 Curl 函数实现多线程抓取网页和下载文件

热门文章

  1. 现在开房都不需要在前台办理入住了?刺激
  2. 《子夜秋歌》赏析-(李白明月姑娘之六)
  3. pythondjangoweb典型模块开发实战 pdf下载_胡阳《Django企业开发实战高效Python Web框架指南》PDF及代码...
  4. nexus 向私服推送jar包 两种方式实现
  5. 换发型特效怎么制作?建议收藏这些方法
  6. 神经网络模型的工作原理,人脑神经网络模型
  7. 对于刚毕业的学弟学妹对即将要就业产生迷茫,下面我来为大家揭晓该如何选择!
  8. qos cbs_如何取消CBS所有访问订阅
  9. ESP32使用AT MQTT 固件发布主题信息返回ERROR解决
  10. msconfig提示系统配置无法保存原始启动配置以便以后还原的解决方法