两次三分

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std;
int x[5],y[5],v[5];double cal(double x1,double x2,double y1,double y2)
{double tmp=(x1-x2)*(x1-x2);tmp+=(y1-y2)*(y1-y2);return sqrt(tmp);
}double chk(double xx,double yy)
{double stx=x[3],sty=y[3],edx=x[4],edy=y[4];double txt1,txt2;while(1){txt1=cal(xx,x[1],yy,y[1])/v[1]+cal(stx+(edx-stx)/3,x[4],sty+(edy-sty)/3,y[4])/v[2];txt1+=cal(xx,stx+(edx-stx)/3,yy,sty+(edy-sty)/3)/v[3];txt2=cal(xx,x[1],yy,y[1])/v[1]+cal(stx+(edx-stx)/3*2,x[4],sty+(edy-sty)/3*2,y[4])/v[2];txt2+=cal(xx,stx+(edx-stx)/3*2,yy,sty+(edy-sty)/3*2)/v[3];if(txt1<txt2){edx=stx+(edx-stx)/3*2;edy=sty+(edy-sty)/3*2;}else{stx=stx+(edx-stx)/3;sty=sty+(edy-sty)/3;}if(fabs(txt1-txt2)<0.0001) break;}return txt1;
}int main()
{int T;scanf("%d",&T);while(T--){for(int i=1;i<=4;i++)scanf("%d %d",&x[i],&y[i]);for(int i=1;i<=3;i++)scanf("%d",&v[i]);double stx=x[1],sty=y[1],edx=x[2],edy=y[2];double txt1,txt2;while(1){txt1=chk(stx+(edx-stx)/3,sty+(edy-sty)/3);txt2=chk(stx+(edx-stx)/3*2,sty+(edy-sty)/3*2);if(txt1<txt2){edx=stx+(edx-stx)/3*2;edy=sty+(edy-sty)/3*2;}else{stx=stx+(edx-stx)/3; sty=sty+(edy-sty)/3;}if(fabs(txt1-txt2)<0.0001) break;}printf("%.2f\n",(txt1+txt2)/2);}return 0;
}

hdoj 3400 三分相关推荐

  1. 【专题】三分法和牛顿迭代法总结

    下面总结两种迭代方法:三分法和牛顿迭代 1.三分法 二分法作为分治中最常见的方法,适用于单调函数,逼近求解某点的值.但当函数是凸性函数时,二分法就无法适用,这时三分法就可以大显身手. 如下凸函数: 类 ...

  2. HDU 3400 Line belt (三分)

    原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=3400 题意:给定两条线段AB,CD,在这两条线段上速度分别为P,Q,在其他地方速度为R,让求A 到 D ...

  3. 【HDU 3400】Line belt(三分法)

    题目链接 题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=3400 题意 有两条传送带AB和CD,移动速度分别为p,q. 除了传送带的其他区域移动速度为r ...

  4. 三分的多种写法及对应的精度 三分套三分原理

    https://www.luogu.org/problemnew/show/P3382 正规三分法 study from: https://blog.csdn.net/pi9nc/article/de ...

  5. 技巧专题1(二分、三分、位运算)

    二分 二分答案一般有以下的一些特征: A. 候选答案在区间[min,max]上按照某种属性有序,一般枚举复杂度较高. B. 容易判断某个点是否为可行 最大值最小. 判断一个东西是否在一个有序集合中出现 ...

  6. HDOJ ACM 题目

    转载 HDOJ 题目分类(转) 1001 整数求和 水题 1002 C语言实验题--两个数比较 水题 1003 1.2.3.4.5... 简单题 1004 渊子赛马 排序+贪心的方法归并 1005 H ...

  7. 并查集 HDOJ 1232 畅通工程

    题目传送门 1 /* 2 并查集(Union-Find)裸题 3 并查集三个函数:初始化Init,寻找根节点Find,连通Union 4 考察:连通边数问题 5 */ 6 #include <c ...

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

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

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

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

最新文章

  1. Android JetPack Lifecycle源码解析
  2. 配置Git绑定Git@OSC
  3. framebuffer 保存 bmp图片格式
  4. mysql 视图_mysql视图
  5. 最新的推荐系统论文两篇
  6. win10-PC端无法输入中文
  7. sql 数据分组统计与合计
  8. Python自然语言处理学习笔记(45):5.6 基于转换的标记
  9. nagios配置之监控端配置
  10. WYSISYN编辑器 Prosemirror 入门
  11. java调用python脚本文件_Java实现调用jython执行python文件的方法
  12. UEFI开发探索31–鼠标GUI构建
  13. java实现电话的呼叫转移_「呼叫转移设置」呼叫转移流程分析(一) - seo实验室...
  14. MP3 功能原理 及 软件方案设计(一)
  15. Spring Native实战
  16. [机器学习与scikit-learn-38]:算法-分类-支持向量机-通过等高线可视化决策边界线和隔离带
  17. matplotlib pyplot 画图基础教程
  18. vue屏幕长宽自适应
  19. 单点登录,统一登录平台的食堂打饭模型
  20. depot_tools在windows上用遇到的问题和RTC编译出错

热门文章

  1. linux中同时移动多种格式文件
  2. linux之type命令
  3. Linux下安装Redis及使用
  4. 获取mssqlserver数据库表的字段名称,字段说明,数据类型,主键等表的信息
  5. 如何实现在已有代码之后添加逻辑之继承,组合(静态代理)实现方法
  6. 优秀java程序员-利器-eclipse-01 快捷键
  7. 无配置文件下使用log4net
  8. 分形——数学与艺术结合的明珠
  9. 大家都在发圣诞树,我偏偏要发一个圣诞小游戏给大家玩【内附源码】
  10. java 流常用接口_java 8新特性5--使用集合流式API