题目链接:戳我

分别枚举线段AB上的出发点,和线段CD上的到达点,然后时间直接计算,取min就可以了。

但是这样子显然会T飞,(相当于1e5的平方吧?)所以我们进一步考虑性质。

然后打表(或者感性理解)可以发现分别选择点的时候,放进计算距离的式子里面其实是一个下凸的单峰函数(可以彼此独立打表,即随意固定一个出发点,打表达到点;或者随意固定一个达到点,打表出发点),然后我们就可以三分套三分了。(至于为什么可以分开打表看?主席说可以放到三维上面取理解,即在x坐标上是一个下凸的单峰函数,从y坐标看的时候压成了一个值,拓展出来三维的话还是下凸的(就像一个下陷的膜?))

感性理解的话就容易多了,画个图,把坐标从下往上移动的时候,靠下或者靠上的话都不优(因为或许会走冤枉路),所以就在中间取最优......好吧,我也解释不清楚了

不过。。。。还是不太清楚为什么直接上while会WA两个点QAQ

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#define MAXN 100010
#define eps 1e-8
using namespace std;
double ax,ay,bx,by,cx,cy,dx,dy,p,q,r;
inline double dist(double x1,double y1,double x2,double y2)
{return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));}
inline double calc(double x,double y)
{
double lx=cx,ly=cy,rx=dx,ry=dy;
double cur_ans=0.0;
do
{
double xx1=(rx-lx)/3+lx,yy1=(ry-ly)/3+ly;
double xx2=lx+rx-xx1,yy2=ly+ry-yy1;
double k1=dist(x,y,ax,ay)/p+dist(x,y,xx1,yy1)/r+dist(xx1,yy1,dx,dy)/q;
double k2=dist(x,y,ax,ay)/p+dist(x,y,xx2,yy2)/r+dist(xx2,yy2,dx,dy)/q;
if(k1>k2) cur_ans=k1,lx=xx1,ly=yy1;
else cur_ans=k2,rx=xx2,ry=yy2;
}while(fabs(rx-lx)>eps||fabs(ry-ly)>eps);
return cur_ans;
}
int main()
{
#ifndef ONLINE_JUDGE
freopen("ce.in","r",stdin);
#endif
scanf("%lf%lf%lf%lf%lf%lf%lf%lf",&ax,&ay,&bx,&by,&cx,&cy,&dx,&dy);
scanf("%lf%lf%lf",&p,&q,&r);
double ans=0.0,lx=ax,ly=ay,rx=bx,ry=by;
do
{
double xx1=(rx-lx)/3+lx,yy1=(ry-ly)/3+ly;
double xx2=lx+rx-xx1,yy2=ly+ry-yy1;
double k1=calc(xx1,yy1),k2=calc(xx2,yy2);
if(k1>k2) lx=xx1,ly=yy1,ans=k1;
else rx=xx2,ry=yy2,ans=k2;
}while(fabs(rx-lx)>eps||fabs(ry-ly)>eps);
printf("%.2lf\n",ans);
return 0;
}

CQOI2010 传送带的更多相关文章

  1. 【BZOJ1857】[Scoi2010]传送带 三分法

    三分套三分,挺神奇的...每次找到,每个传送带的上下两个三等分点,下面那个小,则一定有更优的在中间. #include <iostream> #include <cstdio> ...

  2. 【读书笔记《Bootstrap 实战》】3.优化站点资源、完成响应式图片、让传送带支持手势

    A.优化站点资源 速度很重要.用户很关心.我们的站点必须加载够快,否则用户就会走人.SEO 也很重要.我们的站点必须加载够快,否者搜索排名就会下降. 明白了这样,我们就来清点一下 [Bootstrap ...

  3. BZOJ 1857 传送带 (三分套三分)

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

  4. 12款响应式的 jQuery 旋转木马(传送带)插件

    在企业网站,作品集网站,电子商务网站或任何其他类型的网站内容显示图片可以使用 jQuery 旋转木马(传送带)插件来实现. jQuery 旋转木马插件允许开发人员以水平或垂直的方式显示内容,视频和图像 ...

  5. Slick – 这是你需要的最后一款 jQuery 传送带插件

    slick 是一款完全响应式的 jQuery 传送带插件,能够根据容器自动适应宽度.在现代浏览器中会使用 CSS3 来实现特殊效果,可以使用扩展方法对项目进行添加.删除和过滤.这是你需要的最后一款 j ...

  6. Owl Carousel – 支持触摸的 jQuery 响应式传送带插件

    Owl Carousel 是一个 jQuery 插件,使我们能够迅速地创建响应式传送带滑块.这个插件是触摸友好的,能与几乎任何的 HTML 内容兼容使用.另外,强大的选项设置支持分页/滑动速度,启用/ ...

  7. 【Bootstrap】3.优化站点资源、完成响应式图片、让传送带支持手势

    A.优化站点资源 速度很重要.用户很关心.我们的站点必须加载够快,否则用户就会走人.SEO 也很重要.我们的站点必须加载够快,否者搜索排名就会下降. 明白了这样,我们就来清点一下 [Bootstrap ...

  8. 【BZOJ-1857】传送带 三分套三分

    1857: [Scoi2010]传送带 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 1077  Solved: 575[Submit][Status][ ...

  9. Bzoj1818: [Cqoi2010]内部白点 && Tyvj P2637 内部白点 扫描线,树状数组,离散化

    1818: [Cqoi2010]内部白点 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 704  Solved: 344[Submit][Status] ...

随机推荐

  1. linux top 查看CPU命令

    top 命令主要用于查看进程的相关信息,同时它也会提供查看系统平均负载,cpu 信息和内存信息 实时监控系统资源使用情况 [root@localhost ~]$ top // 动态查看进程使用资源的情 ...

  2. 红帽学习笔记[RHCSA] 第十课[计划任务Cron与At、逻辑卷管理]

    计划任务[At & Cron Jobs] at # at 命令只能计划一次性任务但是比较方便. # 先输入时间 [root@localhost Desktop]# at 10:02 # 输入要 ...

  3. windows VS2013中使用<pthread.h>

    1. 下载pthreads-w32-2-9-1-realease.zip 地址:http://www.mirrorservice.org/sites/sourceware.org/pub/pthrea ...

  4. [Python3] 030 常用模块 os

    目录 os 1. os.getcwd() 2. os.chdir() 3. os.listdir() 4. os.makedir() 5. os.system() 6. os.getenv() 7. ...

  5. IOMETER的简单使用

    1. 网上下载文件: 一般至少包含两个: 2. 使用IOmeter 进行 功能测试. 注意选择 测试需要的盘 注意 选择的磁盘 会被充满. 会产生一个特别大的文件 3. 选择测试对象 4. 可以查看实 ...

  6. Java学生成绩绩点管理系统

    一.考试要求: 1.按照测试内容要求完成程序的设计与编程: 2.建立学号姓名文件夹,如:“信 1805-1 班 20180001 XXX”,将源程序文件保存在文件夹中,压缩成 rar 文件提交. 3. ...

  7. 洛谷 P3857 彩灯 题解

    题面 对于每一个开关,我们可以看成一个0/1串,初始是一个全部为0的串,要求经过这些开关的操作后,出现的不同的0/1串的个数 建模就是存在一些数,这些数异或起来是0(等价于没有操作).那么需要求一个集 ...

  8. redis 字符串 数据类型

    1 字符串 设置:   set    key  value   获取:  get  key    删除:  del   key getrange   key    0 3    截取字符串内容    ...

  9. 第五小节之JAVA IO流

    文件:文本文件是一种计算机文件,它是一种典型的顺序文件,其文件的逻辑结构又属于流式文件,特别的是指以ASCLL码方式(也称为文本方式)存储的文件,而更确切地说,英文.数字等字符存储的是ASCLL码,而 ...

  10. 【c#】ADO操作Access的mdb数据库只能读不能修改的解决方法

    在使用ACCESS数据库时连接字符串如 string strcon=@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\Access操作\简易 ...