洛谷 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. 1+x证书Web前端开发中级理论考试(试卷1)

    2019年下半年 Web前端开发中级 理论考试 (考试时间19:00-20:30 共150分钟,测试卷1) 本试卷共3道大题,满分100分. 请在指定位置作答. 一.单选题(每小题2分,共30小题,共 ...

  2. ideal 切换git和svn

    原文地址:https://blog.csdn.net/lixld/article/details/98851427 intellij ideal gi和svn切换: 之前项目是svn的,新的项目用了g ...

  3. LeetCode 206:反转链表 Reverse Linked List

    反转一个单链表. Reverse a singly linked list. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3- ...

  4. 【Linux命令】Linux命令后面所接选项和参数的区别

    Linux命令后面所接选项和参数的区别 在使用Linux命令时,有时候后面会跟一些"选项"(options)或"参数"(agruments) 命令格式为: #中 ...

  5. linux安装redis步骤

    1.安装gcc  redis是c语言编写的 -- 安装命令 yum install gcc-c++ -- 检查gcc 是否安装 gcc -v 2.下载redis安装包,在root目录下执行 wget ...

  6. css隐藏页面元素的方法

    用css隐藏页面元素有许多种方法. 第一种方法[opacity: 0;] opacity属性通常用于设置一个元素的透明度,从另一个角度来看,如果透明度为0,也就从视觉上隐藏了该元素. 这个属性不是为改 ...

  7. sysstat工具包之mpstat

    mpstat 1 简介 mpstat是一个实时监控工具,主要报告与CPU相关统计信息,信息存放在/proc/stat文件中: 在多核心cpu系统中,不仅可以查看cpu平均信息,还可以查看指定cpu信息 ...

  8. 【深度学习】计算机视觉中的 Single-Scale 和 Multi-Scale

    Single-Scale:是指把一张图片送到 CNN : Multi-Scale:一般会送到 CNN 十张图片:比如高宽是 256 Χ 256 的图片,Multi-Scale会在它的四个角以及中心裁剪 ...

  9. SqlServer 创建数据库两种方式

    一个SqlServer 数据库实例大概可以创建三万多个数据库. 创建数据库的第一种方式:SqlServer Management Studio管理工具进行可视化创建. 1).打开数据库管理工具,在&q ...

  10. Visual Studio2017使用EF添加Mysql

    为了能够在Visual Studio 中集成Mysql, 首先需要安装MySql的连接工具 与 MySql的VisualStudio插件. MySQL Connector Net 6.8.8 (目前最 ...