当前位置: 首页 > news >正文

成都网站建设公司汇总深圳网站制作推广

成都网站建设公司汇总,深圳网站制作推广,深圳企业营销型网站建设,wap织梦手机网站题目描述 Description 新一届智能车大赛在JL大学开始啦!比赛赛道可以看作是由n个矩形区域拼接而成(如下图所示),每个矩形的边都平行于坐标轴,第i个矩形区域的左下角和右上角坐标分别为(xi,1,yi,1)和(xi,2,yi,2)。 题目…

题目描述

Description

 新一届智能车大赛在JL大学开始啦!比赛赛道可以看作是由n个矩形区域拼接而成(如下图所示),每个矩形的边都平行于坐标轴,第i个矩形区域的左下角和右上角坐标分别为(xi,1,yi,1)和(xi,2,yi,2)。 题目保证:xi,1<xi,2=xi+1,1,且yi,1< yi,2,相邻两个矩形一定有重叠在一起的边(如图中虚线所示),智能车可以通过这部分穿梭于矩形区域之间。

选手们需要在最快的时间内让自己设计的智能车从一个给定的起点S点到达一个给定的终点T点,且智能车不能跑出赛道。假定智能车的速度恒为v且转向不消耗任何时间,你能算出最快需要多少时间完成比赛么?

Input

 输入的第一行包含一个正整数n,表示组成赛道的矩形个数。 接下来n行描述这些矩形,其中第i行包含4个整数xi,1, yi,1, xi,2, yi,2,表示第i个矩形左下角和右上角坐标分别为(xi,1, yi,1)和(xi,2, yi,2)。 接下来一行包含两个整数xS, yS,表示起点坐标。 接下来一行包含两个整数xT, yT,表示终点坐标。 接下来一行包含一个实数v,表示智能车的速度。

Output

 仅输出一个实数,至少精确到小数点后第六位,为智能车完成比赛的最快时间。

对于每个测试点,如果你的输出结果和参考结果相差不超过10^-6,该测试点得满分,否则不得分。

Sample Input

2

1 12 2

203 4

1 1

30

1.0

Sample Output


2.41421356

HINT


有精度误差,请不要提交

N<=2000,所输入数字为绝对值小于40000的整数

Source


day1

分析

就是求一个最短路,这条路肯定是从左到右的,我们可以用 DP 来求。
我们先预处理出矩形之间的交点,显然智能车只能经过起点、终点和这些点。
加上起点在终点左边(如果不是交换一下位置)
然后 O(n2)DP ,在 DP 过程中记录一下当前点能够向后到达的点的斜率范围就可以了。

dist[j]=minminkki,jmaxk(dist[j],dist[i]+Di,j)

代码

#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
#define y1 myi
using namespace std;
#define MAXN 2000
int n,cnt,sx,sy,ex,ey,x1[MAXN+10],x2[MAXN+10],y1[MAXN+10],y2[MAXN+10];
double v,dist[MAXN*2+10];
void Read(int &x){static char c;bool f(0);while(c=getchar(),c!=EOF){if(c=='-')f=1;else if(c>='0'&&c<='9'){x=c-'0';while(c=getchar(),c>='0'&&c<='9')x=x*10+c-'0';ungetc(c,stdin);if(f)x=-x;return;}}
}
void read(){Read(n);for(int i=1;i<=n;i++)Read(x1[i]),Read(y1[i]),Read(x2[i]),Read(y2[i]);Read(sx),Read(sy),Read(ex),Read(ey);if(sx>ex)swap(sx,ex),swap(sy,ey);scanf("%lf",&v);
}
struct point{int x,y;inline point(){}inline point(int x,int y):x(x),y(y){}
}a[MAXN*2+10];
void prepare(){a[++cnt]=point(sx,sy);int t[4],i;for(i=1;i<n;i++){if(sx>x2[i])continue;if(ex<x2[i])break;t[1]=y1[i],t[2]=y2[i],t[3]=y1[i+1],t[0]=y2[i+1];sort(t,t+4);a[++cnt]=point(x2[i],t[1]);a[++cnt]=point(x2[i],t[2]);}a[++cnt]=point(ex,ey);
}
inline double sqr(double x){return x*x;
}
void solve(){int i,j;double mxk,mik,k;for(i=2;i<=cnt;i++)dist[i]=1e20;for(i=1;i<cnt;i++){mxk=1e20,mik=-1e20;for(j=i+1;j<=cnt&&mik<=mxk;j++)if(a[i].x==a[j].x)dist[j]=min(dist[j],dist[i]+abs(a[i].y-a[j].y));else{k=1.0*(a[j].y-a[i].y)/(a[j].x-a[i].x);if(mik<=k&&k<=mxk)dist[j]=min(dist[j],dist[i]+sqrt(sqr(a[j].y-a[i].y)+sqr(a[j].x-a[i].x)));if(j&1)mxk=min(mxk,k);elsemik=max(k,mik);}}
}
int main()
{read();prepare();solve();printf("%.10lf\n",dist[cnt]/v);
}
http://www.dt0577.cn/news/47884.html

相关文章:

  • 网站建设管理工作总结报告seo排名优化什么意思
  • 网站后台怎么做seo优化易下拉排名
  • 麦包包网站建设特点百度优化服务
  • android wap网站创意营销策划方案
  • 网站里的搜索怎么做百度seo手机
  • c 语言能开发做网站吗新网域名注册官网
  • 网站如何搭建汕头seo代理
  • 甘肃住房建设厅的网站灰色行业关键词优化
  • 本科生做旅游网站客服佛山做seo推广公司
  • 淄博网站建设 很乱成品网站建站空间
  • wordpress文章升序广州企业网站seo
  • 网站怎么做交易平台湖南网络推广排名
  • 做电商平台网站疫情最新数据
  • 学院网站源码实时军事热点
  • 互联网品牌有哪些网站推广优化平台
  • 网页设计与网站建设主要内容营销方案100个软文
  • 摄影网站难做吗在线代理浏览网址
  • 亚马逊网站推广怎么做线上运营的5个步骤
  • 网站后台模板修改用什么软件长春seo关键词排名
  • 免费网站网站制作平台ip反查域名网站
  • 郑州做网站报价站域名多少钱各国足球世界排名
  • 门户网站开发过程网络舆情
  • 给孩子做的饭网站百度搜索关键词规则
  • 互助网站建设百度上怎么发布信息啊
  • ps做游戏下载网站开发一个app平台大概需要多少钱?
  • 网站怎么做高权重厦门百度关键词推广
  • 学做室内效果图的网站百度推广代理商返点
  • 做公司网站需官网首页入口百度
  • 做公众号必备的网站seo引擎搜索网址
  • wordpress做分类信息网站电脑优化工具