Time Limit: 1 Sec  Memory Limit: 64 MB
Submit: 2005  Solved: 1091
[Submit][Status][Discuss]

Description

在一个2维平面上有两条传送带,每一条传送带可以看成是一条线段。两条传送带分别为线段AB和线段CD。lxhgww在AB上的移动速度为P,在CD上的移动速度为Q,在平面上的移动速度R。现在lxhgww想从A点走到D点,他想知道最少需要走多长时间

Input

输入数据第一行是4个整数,表示A和B的坐标,分别为Ax,Ay,Bx,By 第二行是4个整数,表示C和D的坐标,分别为Cx,Cy,Dx,Dy 第三行是3个整数,分别是P,Q,R

Output

输出数据为一行,表示lxhgww从A点走到D点的最短时间,保留到小数点后2位

Sample Input

0 0 0 100
100 0 100 100
2 2 1

Sample Output

136.60

HINT

对于100%的数据,1<= Ax,Ay,Bx,By,Cx,Cy,Dx,Dy<=1000
1<=P,Q,R<=10

Source

Day2

很显然最优的路线一定是从A走到AB上的一点走到CD上的一点再走到D
然后三分套三分就可以了
#include<cstdio>
#include<cmath>
#include<algorithm>
#define eps 1e-3
using namespace std;
inline int read() {char c = getchar(); int x = 0, f = 1;while(c < '0' || c > '9') {if(c == '-') f = -1; c = getchar();}while(c >= '0' && c <= '9') x = x * 10 + c - '0',c = getchar();return x * f;
}
int Ax, Ay, Bx, By, Cx, Cy, Dx, Dy, P, Q, R;
double dis(double x, double y, double x2, double y2) {return sqrt((x2 - x) * (x2 -x) + (y2 - y) * (y2 - y));
}
double check2(double x,double y,double x2,double y2) {return dis(Ax, Ay, x, y) / P + dis(x, y, x2, y2) / R + dis(x2, y2, Dx, Dy) / Q;
}
double check(double x, double y) {double lx = Cx, ly = Cy, rx = Dx, ry = Dy, a, b;while(abs(rx - lx) > eps || abs(ry - ly) > eps) {double wx1 = (lx * 2 + rx) / 3, wy1 = (ly * 2 + ry) / 3,wx2 = (lx + rx * 2) / 3, wy2 = (ly + ry * 2) / 3;a = check2(x, y, wx1, wy1);b = check2(x, y, wx2, wy2);if(a > b) lx = wx1, ly = wy1;else rx = wx2, ry = wy2;}return check2(x, y, lx, ly);
}
int main() {#ifdef WIN32freopen("a.in","r",stdin);#endifAx = read(), Ay = read(), Bx = read(), By = read(), Cx = read(), Cy = read(), Dx = read(), Dy = read(), P = read(), Q = read(), R = read();double lx = Ax, ly = Ay, rx = Bx, ry = By;while(abs(rx - lx) > eps || abs(ry - ly) > eps) {double wx1 = (lx * 2 + rx) / 3, wy1 = (ly * 2 + ry) / 3,wx2 = (lx + rx * 2) / 3, wy2 = (ly + ry * 2) / 3;if(check(wx1, wy1) > check(wx2, wy2)) lx = wx1, ly = wy1;else rx = wx2, ry = wy2;}printf("%.2lf", check(lx, ly));return 0;
}

转载于:https://www.cnblogs.com/zwfymqz/p/8987507.html

BZOJ1857: [Scoi2010]传送带(三分套三分)相关推荐

  1. BZOJ1857 Scoi2010 传送带 【三分】

    BZOJ1857 Scoi2010 传送带 Description 在一个2维平面上有两条传送带,每一条传送带可以看成是一条线段.两条传送带分别为线段AB和线段CD.lxhgww在AB上的移动速度为P ...

  2. #10017 「一本通 1.2 练习 4」传送带+三分套三分

    题目描述 原题来自:SCOI 2010 在一个 2 维平面上有两条传送带,每一条传送带可以看成是一条线段.两条传送带分别为线段  AB和线段CD .lxhgww 在  AB上的移动速度为 P ,在  ...

  3. bzoj1857 [Scoi2010]传送带

    1857: [Scoi2010]传送带 Time Limit: 1 Sec  Memory Limit: 64 MB Submit: 1635  Solved: 909 [Submit][Status ...

  4. 上海理工大学第二届“联想杯”全国程序设计邀请赛 - Experiment Class(几何+三分套三分)

    题目链接:点击查看 题目大意:在二维平面的第一象限中给出两条射线代表河流,再给出起点和终点,问从起点出发,至少经过两条河各一次后到达终点的最短路 题目分析:如果只有一条河的话就是初中数学的经典问题了, ...

  5. HDU - 3694 Fermat Point in Quadrangle(三分套三分/凸包)

    题目链接:点击查看 题目大意:给出四个点,求出该四边形的费马点,费马点是求得一个点,到这四个点的距离最小,最后输出距离, 题目分析:三分套三分,外层三分x,内层三分y即可,不过就是目前来说遇到的所有三 ...

  6. HDU - 5017 Ellipsoid(三分套三分/模拟退火)

    题目链接:点击查看 题目大意:给出一个椭球面的方程,求椭球面上的点与原点距离的最小值 题目分析:因为涉及到了求最小值,我们可以考虑三分,又因为每一个点都是三维的(x,y,z),不过z可以通过x和y的计 ...

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

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

  8. [BZOJ1857][Scoi2010]传送带

    1857: [Scoi2010]传送带 Time Limit: 1 Sec  Memory Limit: 64 MB Submit: 1786  Solved: 981 [Submit][Status ...

  9. 传送带(三分套三分)

    这个毒瘤题 原题链接 题目描述 在一个2维平面上有两条传送带,每一条传送带可以看成是一条线段.两条传送带分别为线段AB和线段CD.lxhgww在AB上的移动速度为P,在CD上的移动速度为Q,在平面上的 ...

  10. BZOJ1857:[SCOI2010]传送带——题解

    http://www.lydsy.com/JudgeOnline/problem.php?id=1857 Description 在一个2维平面上有两条传送带,每一条传送带可以看成是一条线段.两条传送 ...

最新文章

  1. java严格区分大小写吗_Java是否区分大小写?
  2. 这几个 Python 的小技巧,你会么?
  3. 系统要不要更新_手机经常弹出“系统更新”,到底要不要更新?用户:后悔已来不及...
  4. vue路由传参两种方式;vue路由传参query与params区别;vue路由跳转的带参与不带参,路由跳转传参方式:name 、 path;
  5. 引用类型和原始类型的对比(java)
  6. Specification for springger thesis Writing
  7. NopCommerce支持友好路由
  8. 系统学习NLP(六)--语义分析
  9. C++小游戏——打方块
  10. ua获取手机型号_手机UserAgent大全 - fynas实用小工具
  11. opencv的第一个lena图片显示
  12. java 机器学习库_7个最好的Java机器学习开发库
  13. ubuntu 20 安装 velodyne_simulator
  14. 如何吸引全球级「AI大咖」,BAT等大佬怎么说?
  15. Unity根据文字内容自动滚动显示最新文字
  16. JavaScript日期时间详解
  17. 如何使用Socks5代理IP提高网络安全性
  18. 手写Sping(2) :手写IOP与DI(依赖注入)
  19. Android 交流分享汇总
  20. matlab气温与NDVI相关性分析,中国植被NDVI与气候因子的年际变化及相关性研究

热门文章

  1. 我国芯片各细分领域龙头名单
  2. Python3之正则表达式详解!
  3. wifi 小米pro 驱动 黑苹果_小米Pro 15.6英寸(i7 8550U-MX110)游戏本黑苹果
  4. 开源协议的比较(BSD,Apache,GPL,LGPL,MIT)
  5. android缅甸语,关于unicode:Android中的缅甸语言
  6. Krytox VPF1525 VPF1514 VPF1506 XP Chemours DuPont
  7. 如何安装windows NT虚拟机
  8. 数据库事务隔离级别与锁
  9. 电视剧 | 黑镜S5E3 瑞秋洁柯小艾希莉
  10. win10卓越性能模式