hdu2438
2015-07-11 21:59
260 查看
汽车的左边尽量贴着那个直角点,而汽车的右下后方的点尽量贴着最下面的边。
以O点为原点建立直角坐标系,以角a给出P点横坐标的函数F(a)
F(a)= l*cos(a)+(d-x*cos(a))/sin(a);
经求导可证是凸函数,三分查找
以O点为原点建立直角坐标系,以角a给出P点横坐标的函数F(a)
F(a)= l*cos(a)+(d-x*cos(a))/sin(a);
经求导可证是凸函数,三分查找
#include <iostream> #include <stdio.h> #include <math.h> #include <algorithm> using namespace std; const double eps=1e-8; double x,y,l,w; double equ(double t) { return l*cos(t)+(w-x*cos(t))/sin(t); } double ternarysearch(double l,double r) { while(r-l>eps) { double L=(l+l+r)/3; double R=(l+r+r)/3; double ans1=equ(L); double ans2=equ(R); if(ans1<ans2) l=L; else r=R; } return l; } int main() {while(cin>>x>>y>>l>>w) { double low=0,high=acos(-1.0)/2; double tmp=ternarysearch(low,high); if(equ(tmp)<=y) puts("yes"); else puts("no"); } return 0; }
相关文章推荐
- 解决windows下eclipse中android项目关联android library project失败问题
- 【ACM】【括号匹配】
- 关于java集合的总结
- 【Android Studio】代码混淆与多渠道打包
- 企业购买团体商业保险有助提升公司形象
- Jquery的知识学习积累,内附自己做的一个网站案例
- 黑马程序员——Java基础--IO(三)
- android studio R文件丢失 解决方法
- python基础课程_2学习笔记3:图形用户界面
- 用C写的航空客运订票系统
- LintCode Remove Duplicates from Sorted Array II 删除排序数组中的重复数字 II
- [leetcode-88]Merge Sorted Array(C语言)
- [Android 性能优化系列]降低你的界面布局层次结构的一部分
- 代理模式Proxy-- 学习HeadFirst设计模式记录
- C语言—判断IP地址是否合法
- hibernate注解
- iOS:使用MVC模式帮ViewController瘦身
- Linix下修改mysql服务器编码
- JavaBean,POJO,EJB 是什么?
- Jquery学习