HDOJ(2438)几何里的三分
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)几何里的三分的更多相关文章
- HDU 2438 Turn the corner(三分查找)
		托一个学弟的福,学了一下他的最简便三分写法,然后找了一道三分的题验证了下,AC了一题,写法确实方便,还是我太弱了,漫漫AC路!各路大神,以后你们有啥好的简便写法可以在博客下方留个言或私信我,谢谢了! ... 
- hdu 2438 Turn the corner [ 三分 ]
		传送门 Turn the corner Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ... 
- [zoj3593]扩展欧几里得+三分
		题意:给一个数A,有6种操作,+a,-a,+b,-b,+(a+b),-(a+b),每次选择一种,用最少的次数变成B. 思路:由于不同的操作先后顺序对最后的结果没有影响,并且加一个数与减一个相同的数不能 ... 
- BZOJ2800 [Poi2012]Leveling Ground  【扩展欧几里得 + 三分 + 堆】
		题目链接 BZOJ2800 题解 区间加极难操作,差分之后可转化为两点一加一减 那么现在问题就将每个点暂时独立开来 先判定每个点是否被\((A,B)\)整除,否则无解 之后我们先将\(A,B\)化为互 ... 
- 什么是 kNN 算法?
		学习 machine learning 的最低要求是什么? 我发觉要求可以很低,甚至初中程度已经可以. 首先要学习一点 Python 编程,譬如这两本小孩子用的书:[1][2]便可. 数学方面 ... 
- 地理数据库的类型geodatabase类型
		地理数据库的类型geodatabase类型 地理数据库是用于保存数据集集合的“容器”.有以下三种类型: 文件地理数据库 - 在文件系统中以文件夹形式存储.每个数据集都以文件形式保存,该文件大小最多可扩 ... 
- 数往知来C#之  String  集合 深拷与浅拷  序列化<五>
		C# 基础常用string方法篇 复习. 1.引用类型与值类型 -->文件的复制与快捷方式的复制 2.垃圾回收 3.静态与非静态 -->如何定义静态成员与静态类 --> ... 
- Windows Phone 之手势识别(Flick)
		1. 引入dll (silverlight for wndows phone toolkit) 2.引入命名空间 01.xmlns:toolkit="clr-namespace:Micros ... 
- [google面试CTCI] 1-8.判断子字符串
		[字符串与数组] Q:Assume you have a method isSubstring which checks if one word is a substring of another G ... 
随机推荐
- 为模版设计师而生的Twig(上)-Twig使用指南
			原文地址:http://my.oschina.net/veekit/blog/268828 1. 概要 模板是一个简单的文本文件.它可以生成任何基于文本的格式(HTML.XML.CSV等).它不具有特 ... 
- 前端 动态表单提交(post、put)
			第一步:form表单定义统一属性 <input type="text" class="form-value" /> 第二步:获取所有值 var fo ... 
- C#动态webservice调用接口 (JAVA,C#)
			C#动态webservice调用接口 using System; using System.Collections; using System.IO; using System.Net; using ... 
- svn 权限配置
			svnserve.conf开启权限 auth中以下设置 重启SVN服务 
- C# 随机红包算法
			static void Main(string[] args) { ; ; double minAmount = 0.01; Random r = new Random(); ; i < num ... 
- 单点登录SSO
			转载自 http://www.blogjava.net/xcp/archive/2010/04/13/318125.html 摘要:单点登录(SSO)的技术被越来越广泛地运用到各个领域的软件系统当 ... 
- PICT安装与使用
			一.PICT简介 PICT工具是在微软公司推出的一款成对组合的命令行生成工具,下载地址http://download.microsoft.com/download/f/5/5/f55484df-849 ... 
- 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 ... 
- eclipse 断点使用深入技能
			原文:http://blog.jobbole.com/26435/ 摘要:调试不仅可以查找到应用程序缺陷所在,还可以解决缺陷.对于Java程序员来说,他们不仅要学会如何在Eclipse里面开发像样的程 ... 
- LogBack,升级版的log4J
			<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE log4j:configuration SYS ... 
