洛谷 P1542 包裹快递

https://www.luogu.org/problem/P1542

JDOJ 1527: VIJOS-P1450 包裹快递

https://neooj.com/oldoj/problem.php?id=1527

题目描述

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

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

输入

  第1行为一个正整数n,表示需要运送包裹的地点数。

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

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

输出

仅包括一个整数,为车的最大速度最小值,结果保留两位小数。

样例输入

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≤100000;xi≤yi≤108;si≤107

 
 
 这是浮点数二分。
因为它的距离是固定的,所以我们只需要在判断的时候判在当前速度下是否能够按时到达终点即可。
但是浮点数二分就要有浮点数二分的坑点。
比如循环条件,比如变量名,比如精度...
我开的是long double,据说douible过不了洛谷...鬼知道。
这里还要注意,mid不能写右移,这是语法规定。
并且,浮点型不存在==的说法!
 
所以得出了能A洛谷的代码:
#include<cstdio>
#include<algorithm>
using namespace std;
int n;
long double ans;
int x[],y[],s[];
bool check(long double a)
{
long double t=;
for(int i=;i<=n;i++)
{
t+=s[i]/a;
if(t>y[i])
return ;
if(t<x[i])
t=x[i];
}
return ;
}
int main()
{
scanf("%d",&n);
for(int i=;i<=n;i++)
scanf("%d%d%d",&x[i],&y[i],&s[i]);
long double l=,r=1e9,mid;
while(r-l>=1e-)
{
mid=(l+r)/;
if(check(mid))
ans=mid,r=mid;
else
l=mid;
}
printf("%.2Lf",ans);
return ;
}

好的,我们现在来A JDOJ 的题。

这题反而不能开long double ,否则会精度损失...会错一个点...调了我半个点。

完事,第二份代码,微调:

#include<cstdio>
#include<algorithm>
using namespace std;
int n;
double ans;
int x[],y[],s[];
bool check(double a)
{
double t=;
for(int i=;i<=n;i++)
{
t+=s[i]/a;
if(t>y[i])
return ;
if(t<x[i])
t=x[i];
}
return ;
}
int main()
{
scanf("%d",&n);
for(int i=;i<=n;i++)
scanf("%d%d%d",&x[i],&y[i],&s[i]);
double l=,r=1e9,mid;
while(r-l>=1e-)
{
mid=(l+r)/;
if(check(mid))
ans=mid,r=mid;
else
l=mid;
}
printf("%.2lf",ans);
return ;
}

VIJOS-P1450 包裹快递的更多相关文章

  1. P1450 包裹快递 RP+14【二分】

    [题目链接]:https://vijos.org/p/category/%E5%85%B6%E4%BB%96,%E4%BA%8C%E5%88%86%E6%9F%A5%E6%89%BE 描述 一个快递公 ...

  2. 洛谷 P1542 包裹快递

    P1542 包裹快递 题目描述 小K成功地破解了密文.但是乘车到X国的时候,发现钱包被偷了,于是无奈之下只好作快递员来攒足路费去Orz教主…… 一个快递公司要将n个包裹分别送到n个地方,并分配给邮递员 ...

  3. Vijos1450 包裹快递[二分答案]

    背景 小K成功地破解了密文.但是乘车到X国的时候,发现钱包被偷了,于是无奈之下只好作快递员来攒足路费去Orz教主…… 描述 一个快递公司要将n个包裹分别送到n个地方,并分配给邮递员小K一个事先设定好的 ...

  4. Luogu P1542包裹快递【实数域二分】 By cellur925

    题目传送门 题目中说:最大值最小,显然是一个二分答案嘛qwq. 我们二分的答案显然是速度,但是由于实际中每一段的速度可能不同,所以这里我们把所有段进行的速度都定为二分出的答案. 二分的步骤好说,只是c ...

  5. 黑科技装点圣诞节,美国邮政局用AR APP邮寄圣诞包裹

    AR手游<精灵宝可梦Go>的出现将增强现实技术带到了众人的视线中,各大公司纷纷紧抓AR的发展前景,同时积极将AR功能引入自家产品中.临近圣诞,又到了一年一度的快递高峰期,据591ARVR资 ...

  6. 向安富利(Avnet)学什么?

    这个只做电子元器件分销的企业,居然能数次进入<财富>排行榜.看来,这是一个在供应链上创造价值的高手.在企业竞争已经集中到供应链竞争的今天,安富利的成功之道,无疑具有特别的意义. 2000年 ...

  7. NOIp2018集训test-9-6(pm)

    T1T2是洛谷原题.Orz辉神290,被辉神吊起来打. 题 1 包裹快递 二分答案.这题似乎卡精度,不开long double二分500次都过不去. //Achen #include<algor ...

  8. 中国快递包裹总量的预测-基于SARIMA模型

    code{white-space: pre;} pre:not([class]) { background-color: white; }if (window.hljs && docu ...

  9. 澳洲最大的华资快递公司ACE 签约动软微信商城系统!

    ACE-平安立达快递是澳洲最大的华资快递公司ACE平安立达,总部设在Boxhill,同时在中国成立了进口食品专营连锁加盟店“澳莱优品”,目前已经有近20家加盟店,14年底国内计划开到60家店. 201 ...

随机推荐

  1. 数组去重--ES6方法

    数组去重方法1:用es6的set和...扩展运算符 let arr = [1,2,3,4,4,5,2]; console.log([...new Set(arr)]) // [1, 2, 3, 4, ...

  2. pytorch_13_pytorch 中tensor,numpy,PIL的转换

    PIL:使用Python自带图像处理库读取出来的图片格式numpy:使用Python-opencv库读取出来的图片格式tensor:pytorch中训练时所采取的向量格式 import torch i ...

  3. 六、显式锁和AQS

    显式锁和AQS 一.显式锁 ​ Synchronized 关键字结合对象的监视器,JVM 为我们提供了一种『内置锁』的语义,这种锁很简便,不需要我们关心加锁和释放锁的过程,我们只需要告诉虚拟机哪些代码 ...

  4. 使用Vue-cli3搭建Vue+TypeScript项目

    一,创建项目 使用 npm 安装 vue-cli 3 和typescript npm i -g @vue/cli typescript 使用vue create命令快速搭建新项目的脚手架 vue cr ...

  5. Web页面精确定位

    Web端页面定位相关 一.获取宽高相关属性 scrollHeight:获取对象的滚动高度: scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离: scrollTop: ...

  6. 【Oracle】rman基于时间点恢复

    rman基于时间点恢复 场景: 由于某研究的误操作,导致财务模块的数据丢失,如何使用rman基于时间点恢复数据. 思路 1.克隆数据库的虚拟机,直接对数据库的数据进行恢复 RMAN> shutd ...

  7. 基于 K8s 做应用发布的工具那么多, 阿里为啥选择灰姑娘般的 Tekton ?

    作者 | 邓洪超,阿里云容器平台工程师, Kubernetes Operator 第二人,云原生应用标准交付与管理领域知名技术专家   导读:近年来,越来越多专门给 Kubernetes 做应用发布的 ...

  8. WebApplicationInitializer启动分析

    从Servlet 3.0 开始Tomcat已经支持注解式的配置.了解下,在注解的配置方式下,Web是怎样启动起来的. 通过注解配置一个Web应用 下面是一个通过注解实现一个简单的Web应用 publi ...

  9. 2019-9-2-win10-uwp-判断本地ip

    原文:2019-9-2-win10-uwp-判断本地ip title author date CreateTime categories win10 uwp 判断本地ip lindexi 2019-0 ...

  10. Java学习——BigInteger类和BigDecimal类

    Java学习——BigInteger类和BigDecimal类 摘要:本文主要学习了用于大数字运算的BigInteger类和BigDecimal类. 部分内容来自以下博客: https://www.c ...