Turn the corner

http://acm.hdu.edu.cn/showproblem.php?pid=2438

题目:一辆车能否在一个路口拐弯,看图就很明白啦。

算法:见下图,只要求出图中明黄色线段的最大值小于y就可以了。一图抵千言。

 #include <iostream>
#include <cmath>
using namespace std;
double x,y,l,d; double f_angle(double angle)
{
return l*cos(angle)+d/sin(angle)-x/tan(angle);
} int main()
{
double mid1,mid2,low,high;
while(cin>>x>>y>>l>>d)
{
low=0.0;
high=acos(-1.0)/;
while(high-low>=1.0e-6)
{
//三分法求极值
mid1=low+(high-low)/3.0;
mid2=high-(high-low)/3.0;
if(f_angle(mid1)<=f_angle(mid2))
low=mid1;
else
high=mid2;
}
if(f_angle(low)<y)
cout<<"yes"<<endl;
else
cout<<"no"<<endl;
}
return ;
}

二分查找所面向的搜索序列的要求是:具有单调性(不一定严格单调);

与二分查找不同的是,三分法所面向的搜索序列的要求是:序列为一个凸性函数(包括上凸和下凸)。

HDOJ(2438)几何里的三分的更多相关文章

  1. HDU 2438 Turn the corner(三分查找)

    托一个学弟的福,学了一下他的最简便三分写法,然后找了一道三分的题验证了下,AC了一题,写法确实方便,还是我太弱了,漫漫AC路!各路大神,以后你们有啥好的简便写法可以在博客下方留个言或私信我,谢谢了! ...

  2. hdu 2438 Turn the corner [ 三分 ]

    传送门 Turn the corner Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...

  3. [zoj3593]扩展欧几里得+三分

    题意:给一个数A,有6种操作,+a,-a,+b,-b,+(a+b),-(a+b),每次选择一种,用最少的次数变成B. 思路:由于不同的操作先后顺序对最后的结果没有影响,并且加一个数与减一个相同的数不能 ...

  4. BZOJ2800 [Poi2012]Leveling Ground 【扩展欧几里得 + 三分 + 堆】

    题目链接 BZOJ2800 题解 区间加极难操作,差分之后可转化为两点一加一减 那么现在问题就将每个点暂时独立开来 先判定每个点是否被\((A,B)\)整除,否则无解 之后我们先将\(A,B\)化为互 ...

  5. 什么是 kNN 算法?

    学习 machine learning 的最低要求是什么?  我发觉要求可以很低,甚至初中程度已经可以.  首先要学习一点 Python 编程,譬如这两本小孩子用的书:[1][2]便可.   数学方面 ...

  6. 地理数据库的类型geodatabase类型

    地理数据库的类型geodatabase类型 地理数据库是用于保存数据集集合的“容器”.有以下三种类型: 文件地理数据库 - 在文件系统中以文件夹形式存储.每个数据集都以文件形式保存,该文件大小最多可扩 ...

  7. 数往知来C#之 String 集合 深拷与浅拷 序列化<五>

    C# 基础常用string方法篇 复习. 1.引用类型与值类型     -->文件的复制与快捷方式的复制 2.垃圾回收 3.静态与非静态   -->如何定义静态成员与静态类   --> ...

  8. Windows Phone 之手势识别(Flick)

    1. 引入dll (silverlight for wndows phone toolkit) 2.引入命名空间 01.xmlns:toolkit="clr-namespace:Micros ...

  9. [google面试CTCI] 1-8.判断子字符串

    [字符串与数组] Q:Assume you have a method isSubstring which checks if one word is a substring of another G ...

随机推荐

  1. 为模版设计师而生的Twig(上)-Twig使用指南

    原文地址:http://my.oschina.net/veekit/blog/268828 1. 概要 模板是一个简单的文本文件.它可以生成任何基于文本的格式(HTML.XML.CSV等).它不具有特 ...

  2. 前端 动态表单提交(post、put)

    第一步:form表单定义统一属性 <input type="text" class="form-value" /> 第二步:获取所有值 var fo ...

  3. C#动态webservice调用接口 (JAVA,C#)

    C#动态webservice调用接口 using System; using System.Collections; using System.IO; using System.Net; using ...

  4. svn 权限配置

    svnserve.conf开启权限 auth中以下设置 重启SVN服务

  5. C# 随机红包算法

    static void Main(string[] args) { ; ; double minAmount = 0.01; Random r = new Random(); ; i < num ...

  6. 单点登录SSO

    转载自 http://www.blogjava.net/xcp/archive/2010/04/13/318125.html   摘要:单点登录(SSO)的技术被越来越广泛地运用到各个领域的软件系统当 ...

  7. PICT安装与使用

    一.PICT简介 PICT工具是在微软公司推出的一款成对组合的命令行生成工具,下载地址http://download.microsoft.com/download/f/5/5/f55484df-849 ...

  8. Codeforces Round #381 (Div. 2)C. Alyona and mex(思维)

    C. Alyona and mex Problem Description: Alyona's mother wants to present an array of n non-negative i ...

  9. eclipse 断点使用深入技能

    原文:http://blog.jobbole.com/26435/ 摘要:调试不仅可以查找到应用程序缺陷所在,还可以解决缺陷.对于Java程序员来说,他们不仅要学会如何在Eclipse里面开发像样的程 ...

  10. LogBack,升级版的log4J

    <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE log4j:configuration SYS ...