题目来源:

http://202.197.224.59/OnlineJudge2/index.php/Problem/read/id/1175

分析:

起点和终点, 从起点跑到x轴,然后再从x轴某处到终点坐出租车,求最短时间,此函数为 f(x)。 然后再和直接从起点到终点的时间比较,求最小。

由此,我们知道 f(x)是一个 凹函数,用三分的方法。

代码如下:

const double EPS=1e-9;
double xs,ys,xe,ye,vr,vt;
double f(double x)
{
return sqrt( (xs-x)*(xs-x) + ys*ys ) / vr
+ sqrt( (x-xe)*(x-xe) + ye*ye ) / vt;
}
//三分 对凹(凸)函数判断最小(大)值,此题是求最小值。
//不要求左l右r值的大小比较,即(L<R 或 L>=R)都可
double tri_search(){
double Mid , Midmid,L,R;
L= xs;
R=xe;
while( fabs(L-R) > EPS ){ // 由于L ,R没有要求谁大谁小,故求的绝对值
Mid=(L+R)*0.5;
Midmid=(Mid+R)*0.5;
if(f(Mid)<= f(Midmid)  )
R=Midmid;
else
L=Mid;
}
return (L+R)*0.5;
}
int  main(){
int t;
cin>>t;
while(t--){
cin>>xs>>ys>>xe>>ye>>vr>>vt;
double ans=sqrt( (xs-xe)*(xs-xe) + (ys-ye)*(ys-ye)) / vr;
double x=tri_search();
ans=min(ans, f(x));
printf("%.2lf\n",ans);
}
return 0 ;
}

湘潭大学 Hurry Up 三分,求凹函数的最小值问题相关推荐

  1. zoj 3386 Trick or Treat 三分 求最大值的 最小值

    题目来源: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3963 题意:  给定 N 个不同的点, 求在x轴上的 一点,  使 ...

  2. vector 查找最大最小值,且求最大值或者最小值在容器中的位置

    文章目录 前言 一 vector 查找最大最小值,及其位置 前言 在项目中经常会用到对vector容器中的数据求最大值或者最小值,这里简单总结下vector的常用方法,方便后续快速查找回顾. 一 ve ...

  3. hihoCoder #1142 : 三分求极值

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

  4. Algorithm:C++/python语言实现之求旋转数组最小值、求零子数组、求最长公共子序列和最长公共子串、求LCS与字符串编辑距离

    Algorithm:C++/python语言实现之求旋转数组最小值.求零子数组.求最长公共子序列和最长公共子串.求LCS与字符串编辑距离 目录 一.求旋转数组最小值 1.分析问题 2.解决思路 二.求 ...

  5. Console-算法[]-数组求最大值和最小值(只能遍历一次)

    ylbtech-Arithmetic:Console-算法[]-数组求最大值和最小值(只能遍历一次) 1.A,Demo(案例) Console-算法[]-数组求最大值和最小值(只能遍历一次) 1.B, ...

  6. POJ 3264 Balanced Lineup【线段树区间查询求最大值和最小值】

    Balanced Lineup Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 53703   Accepted: 25237 ...

  7. Spark入门(十六)之分组求TOP N最小值

    一.分组求TOP N最小值 计算文本里面的每个key分组求TOP N最小值,输出结果. 二.maven设置 <?xml version="1.0" encoding=&quo ...

  8. python怎么用for循环找出最大值_用for循环语句写一个在输入的十个数字中求最大和最小值的python程序应该怎么写?...

    "在输入的十个数字中求最大和最小值的 python 代码"这个需求,在不同时间来看,解题思路不同,所需要的 python 知识点不同. 作为萌新的我,为此特意整理了 3 种解法,以 ...

  9. 数组小案例(求数组最大最小值、反转数组中元素、指定元素第一次出现的索引)

    数组小案例(求数组最大最小值.反转数组中元素.指定元素第一次出现的索引) 练习1 数组最值的求取 定一个数组,求数组中的最大值和最小值 public class Demo01 {public stat ...

  10. (1~2):C实现数组求和,求平均值,求最大值,最小值

    1.求和.求平均值 #include<stdio.h>int main() {int arr[5]={1,2,3,4,5};int sum=0;for(int i=0;i<5;i++ ...

最新文章

  1. 普元EOS开发积累第一篇(常见错误解决方法) 持续更新
  2. 有关豆豆成长里程碑事件1
  3. C# Job System
  4. 前端学习(3181):ant-design的button介绍
  5. OJ1028: I love 闰年!
  6. 手把手教你编写Logstash插件
  7. Spring Security Ajax 被拦截
  8. 记录一次苏宁电商延保服务的体验
  9. Python 自定义模块
  10. Ubuntu16.04 安装火狐浏览器(中国版)
  11. 树莓派 引脚及接口图 AV接口顺序
  12. vue实现微信分享链接 生成卡片
  13. wps之word设置页眉
  14. Ques核心思想——CSS Namespace
  15. python爬取b站所有视频_如何快速爬取B站全站视频信息
  16. Spring中实现HTTP缓存
  17. 操作系统 存储管理实验报告
  18. 关于国际论文中,国内外人名顺序的问题
  19. this.$watch(),this.$set(),this.$nextTick()={})
  20. 无线通信安全作业1-无线通信安全最新消息

热门文章

  1. C语言字符串分割 trimmed simplified split
  2. Python如何批量把图片地址输入到浏览器上
  3. fmt/core.h:1711:3: error: static assertion failed: Cannot format an argument.解决方案
  4. 致远OA A8 漏洞综合工具
  5. C1 驾驶证考试科目二考试心得
  6. 曲师大教务系统服务器,曲阜师范大学掌上教务
  7. 1853: [Scoi2010]幸运数字[容斥原理]
  8. 想要感受三星S8屏幕的震撼 先过APP适配这道坎
  9. 三星S8原生android8.0,三星S8惧怕的全面屏机皇杀到,原生安卓8.0系统
  10. 三星s8文档有html,三星s8有哪些特殊功能 这些绝对能让你羡慕