包裹快递 题解

包裹快递

【问题描述】

一个快递公司要将n个包裹分别送到n个地方,并分配给邮递员小K一个事先设定好的路线,小K需要开车按照路线给的地点顺序相继送达,且不能遗漏一个地点。小K得到每个地方可以签收的时间段,并且也知道路线中一个地方到下一个地方的距离。若到达某一个地方的时间早于可以签收的时间段,则必须在这个地方停留至可以签收,但不能晚于签收的时间段,可以认为签收的过程是瞬间完成的。

  为了节省燃料,小K希望在全部送达的情况下,车的最大速度越小越好,就找到了你给他设计一种方案,并求出车的最大速度最小是多少。

【输入格式】

输入文件express.in的第1行为一个正整数n,表示需要运送包裹的地点数。

  下面n行,第i+1行有3个正整数xi,yi,si,表示按路线顺序给出第i个地点签收包裹的时间段为[xi, yi],即最早为距出发时刻xi,最晚为距出发时刻yi,从前一个地点到达第i个地点距离为si,且保证路线中xi递增。

  可以认为s1为出发的地方到第1个地点的距离,且出发时刻为0。

【输出格式】

输出文件express.out仅包括一个数,为车的最大速度最小值,结果保留两位小数。

【输入样例】

3

  1 2 2

  6 6 2

  7 8 4

【输出样例】

2.00

【样例解释】

第一段用1的速度在时间2到达第1个地点,第二段用0.5的速度在时间6到达第2个地点,第三段用2的速度在时间8到达第3个地点。

【数据范围】

对于20%的数据,n≤10;

  对于30%的数据,xi,yi,si≤1000。

  对于50%的数据,n≤1000;

  对于100%的数据,n≤200000;xi≤yi≤108;si≤107

———————————————分割线———————————————

二分答案即可,有一个数据会神奇的卡精度,long double用可以避免。

 1 #include "cstdio"
 2 #include "algorithm"
 3
 4 using namespace std ;
 5 const double eps = 1e-4 ;
 6 const int maxN = 100100 ;
 7 const double MaxNum = 1e8 + 1e-4 ;
 8
 9 int X [ maxN ] , Y[ maxN ] , S[ maxN ] ;
10 int N ;
11
12 int INPUT ( ) {
13     int x = 0 , f = 1 ; char ch = getchar ( ) ;
14     while ( ch <‘0‘ || ch >‘9‘ ) { if ( ch ==‘-‘)f = -1 ; ch = getchar ( ) ; }
15     while ( ch >= ‘0‘ && ch <= ‘9‘ ){ x = ( x << 1 ) + ( x << 3 ) + ch - ‘0‘ ; ch = getchar ( ) ; }
16     return x * f ;
17 }
18
19 bool Check( long double ans_ )
20 {
21     long double ti = 0;
22     for(int i = 1; i <= N; i++)
23     {
24         ti += (long double) S[ i ] / ans_;
25         if ( ti > Y[ i ] ) return false;
26         if ( ti < X[ i ] ) ti = X[ i ] ;
27     }
28     return true;
29 }
30
31 int main ( ) {
32     ;
33     freopen ( "express.in" , "r" , stdin ) ;freopen ( "express.out" , "w" , stdout ) ;
34     N = INPUT ( ) ;
35     for ( int i=1 ; i<=N ; ++i ) {
36         X[ i ] = INPUT ( ) ;
37         Y[ i ] = INPUT ( ) ;
38         S[ i ] = INPUT ( ) ;
39     }
40     long double r  = MaxNum , l = 0.0000 ;
41     while ( r - l >= eps ) {
42         long double mid = ( r + l ) / 2.0000 ;
43         if ( Check ( mid ) ) r = mid ;
44         else l = mid + eps ;
45     }
46     double Ans = l ;
47     printf ( "%.2lf" , Ans ) ;
48     fclose ( stdin ) ;
49     fclose ( stdout ) ;
50     return 0 ;
51 }

2016-10-17 22:56:05

时间: 2024-10-21 17:25:11

包裹快递 题解的相关文章

包裹快递(二分)

包裹快递 时间限制: 1 Sec  内存限制: 64 MB提交: 83  解决: 15[提交][状态][讨论版] 题目描述 桐桐为了体验生活,顺便攒点零花钱,决定到快递公司做兼职邮递员.快 递公司要将n个包裹分别送到n个地方,并分配给邮递员桐桐一个事先设定好的路线,桐桐需要开车按照路线给的地点顺序相继送达,且不能遗漏一个地点.桐桐得 到每个地方可以签收的时间段,并且也知道路线中一个地方到下一个地方的距离.若到达某一个地方的时间早于可以签收的时间段,则必须在这个地方停留至可以签 收,但不能晚于签收

二分查找(vijos1450包裹快递)

一个快递公司要将n个包裹分别送到n个地方,并分配给邮递员小K一个事先设定好的路线,小K需要开车按照路线给的地点顺序相继送达,且不能遗漏一个地点.小K得到每个地方可以签收的时间段,并且也知道路线中一个地方到下一个地方的距离.若到达某一个地方的时间早于可以签收的时间段,则必须在这个地方停留至可以签收,但不能晚于签收的时间段,可以认为签收的过程是瞬间完成的. 为了节省燃料,小K希望在全部送达的情况下,车的最大速度越小越好,就找到了你给他设计一种方案,并求出车的最大速度最小是多少. 输入格式 第1行为一

Vijos 包裹快递(二分)

背景 小K成功地破解了密文.但是乘车到X国的时候,发现钱包被偷了,于是无奈之下只好作快递员来攒足路费去Orz教主…… 描述 一个快递公司要将n个包裹分别送到n个地方,并分配给邮递员小K一个事先设定好的路线,小K需要开车按照路线给的地点顺序相继送达,且不能遗漏一个地点.小K得到每个地方可以签收的时间段,并且也知道路线中一个地方到下一个地方的距离.若到达某一个地方的时间早于可以签收的时间段,则必须在这个地方停留至可以签收,但不能晚于签收的时间段,可以认为签收的过程是瞬间完成的. 为了节省燃料,小K希

Vijos1450 包裹快递[二分答案]

背景 小K成功地破解了密文.但是乘车到X国的时候,发现钱包被偷了,于是无奈之下只好作快递员来攒足路费去Orz教主…… 描述 一个快递公司要将n个包裹分别送到n个地方,并分配给邮递员小K一个事先设定好的路线,小K需要开车按照路线给的地点顺序相继送达,且不能遗漏一个地点.小K得到每个地方可以签收的时间段,并且也知道路线中一个地方到下一个地方的距离.若到达某一个地方的时间早于可以签收的时间段,则必须在这个地方停留至可以签收,但不能晚于签收的时间段,可以认为签收的过程是瞬间完成的. 为了节省燃料,小K希

[Luogu P1542] 包裹快递

原题链接qwq \(Structure\) 本题要求我们求出 车的最大速度最小值 . 像求 最大值最小.最小值最大 这种类型的题目,我们很自然地就能想 到用二分答案(一般情况)来求解. \(Solution\) 做二分题目时,我们要弄清楚这样几点: 二分什么 如何判断是否可行 ( 即check函数的内容 ) 当二分到一个满足条件的解时,\(L\) , \(R\) 该如何移动 针对以上三个问题,我们来一步一步解决. \(S1.\) 题目求速度,所以我们可以直接二分最大速度的值 \(S2.\) 在c

快递查询文档

快递查询在狭义上主要指快递查询跟踪服务,在广义上则是指快递查询服务从技术到实现的整个过程. 1快递查询定义 惯用定义 快递查询主要指快递查询跟踪服务,所指的是关于快递公司邮单号的查询.快递用户持快递公司邮单号,进入到快递查询综合网站或者快递公司官方网站,对包裹快递过程进行跟踪.除了可以在相关快递公司官网上查询外,还可以在像"快递查询"这样的专业快递综合查询网站. 2快递查询的方式 快递官网查询 即通过相应的快递公司的官网对快件进行跟踪,相关信息可以直接通过快递回执上的条形码进行查询.如

圣诞节来临,美国邮政局用AR APP邮寄圣诞包裹

AR手游<精灵宝可梦Go>的出现将增强现实技术带到了众人的视线中,各大公司纷纷紧抓AR的发展前景,同时积极将AR功能引入自家产品中.临近圣诞,又到了一年一度的快递高峰期,据591ARVR资讯网www.591arvr.com报道,美国邮政局推出了一款免费的增强现实APP,在包裹快递过程中加些AR圣诞元素. 目前,这个AR应用可以在安卓和苹果手机上下载使用,当然使用方式也很简单.首先,用户需要寄送一个邮政高级包裹,并选择不同的AR内容,例如驯鹿在圣诞树灯下或者一只企鹅和其他动物在冰屋旁.随后,收件

智能快递柜智能寄存柜4G模块连接服务器

方案需求 电子商务正高速发展,物流是影响发展速度的核心要素,电商造就了现在快递业的同时也受制于其发展.如果一件快递需要传递100公里,其中30%的成本却集中在了最后100米. 智能快递柜是一种用于快递行业的装备,用在终端配送阶段,能够实现快递包裹的自动收发和远程查询及控制,而且节能环保. 技术部署 厦门欣仰邦工业级3G/4G无线路由器集成了全系列从逻辑链路层到应用层通信协议,能够为用户提供安全.高速.稳定.可靠的各种协议路由转发的无线路由网络,轻松实现自助快递柜终端3G/4G无线联网和远程管理服

lyc的进程表

"少壮不努力,AK IOI."--RLD 2018/8/10 Prime Distance On Tree 和聪聪可可一样是点分治的计数题 但是合并信息是$ O( n ^ 2 ) $的,会炸,FFT可以加速. #include<bits/stdc++.h> using namespace std; #define gc c=getchar() #define r(x) read(x) #define ll long long #define db double #defin