hdoj 3400 三分
两次三分
#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.三分法 二分法作为分治中最常见的方法,适用于单调函数,逼近求解某点的值.但当函数是凸性函数时,二分法就无法适用,这时三分法就可以大显身手. 如下凸函数: 类 ...
- HDU 3400 Line belt (三分)
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=3400 题意:给定两条线段AB,CD,在这两条线段上速度分别为P,Q,在其他地方速度为R,让求A 到 D ...
- 【HDU 3400】Line belt(三分法)
题目链接 题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=3400 题意 有两条传送带AB和CD,移动速度分别为p,q. 除了传送带的其他区域移动速度为r ...
- 三分的多种写法及对应的精度 三分套三分原理
https://www.luogu.org/problemnew/show/P3382 正规三分法 study from: https://blog.csdn.net/pi9nc/article/de ...
- 技巧专题1(二分、三分、位运算)
二分 二分答案一般有以下的一些特征: A. 候选答案在区间[min,max]上按照某种属性有序,一般枚举复杂度较高. B. 容易判断某个点是否为可行 最大值最小. 判断一个东西是否在一个有序集合中出现 ...
- HDOJ ACM 题目
转载 HDOJ 题目分类(转) 1001 整数求和 水题 1002 C语言实验题--两个数比较 水题 1003 1.2.3.4.5... 简单题 1004 渊子赛马 排序+贪心的方法归并 1005 H ...
- 并查集 HDOJ 1232 畅通工程
题目传送门 1 /* 2 并查集(Union-Find)裸题 3 并查集三个函数:初始化Init,寻找根节点Find,连通Union 4 考察:连通边数问题 5 */ 6 #include <c ...
- 0x04.基本算法 — 二分和三分
目录 一.二分 0.二分法 1.整数域上的二分 2.实数域上的二分 二.三分 0.三分求单峰函数极值 1.P3382 [模板]三分法(秦九韶求多项式+三分) 三.二分答案转化为判定 0.经典例子 1. ...
- python刷题一亩三分地_手把手教你用python抓网页数据【一亩三分地论坛数据科学版】...
前言:. visit 1point3acres.com for more. 数据科学越来越火了,网页是数据很大的一个来源.最近很多人问怎么抓网页数据,据我所知,常见的编程语言(C++,java,pyt ...
最新文章
- Android JetPack Lifecycle源码解析
- 配置Git绑定Git@OSC
- framebuffer 保存 bmp图片格式
- mysql 视图_mysql视图
- 最新的推荐系统论文两篇
- win10-PC端无法输入中文
- sql 数据分组统计与合计
- Python自然语言处理学习笔记(45):5.6 基于转换的标记
- nagios配置之监控端配置
- WYSISYN编辑器 Prosemirror 入门
- java调用python脚本文件_Java实现调用jython执行python文件的方法
- UEFI开发探索31–鼠标GUI构建
- java实现电话的呼叫转移_「呼叫转移设置」呼叫转移流程分析(一) - seo实验室...
- MP3 功能原理 及 软件方案设计(一)
- Spring Native实战
- [机器学习与scikit-learn-38]:算法-分类-支持向量机-通过等高线可视化决策边界线和隔离带
- matplotlib pyplot 画图基础教程
- vue屏幕长宽自适应
- 单点登录,统一登录平台的食堂打饭模型
- depot_tools在windows上用遇到的问题和RTC编译出错