信息学奥赛一本通 1227:Ride to Office | OpenJudge NOI 4.6 2404:Ride to Office
【题目链接】
ybt 1227:Ride to Office
OpenJudge NOI 4.6 2404:Ride to Office
原题是英文题,虽说两题题意相同,但一本通网站没有对该问题进行直译,名字都不一样。而且描述不够完整。我在这里再翻译一下。
【题目翻译】
骑车上班
描述
许多员工住在一个叫做M小区的地方,距离他们的单位很远(4.5公里)。由于交通堵塞,许多员工选择骑车。
我们可以假设除了魏威以外所有员工都以恒定的速度从家骑到单位。魏威这个人有不同的骑车习惯——他总是试图跟着其他骑车的人而不是自己单独骑车。当魏威到达M小区的大门时,他会寻找其它正要出发去单位的人。如果他找到了,他会骑车跟着那个人,否则,他会等待可以跟随的人。在从家到单位的路上,任何时刻只要有一个骑得更快的人超过了魏威,那么他会离开他正在跟随的骑行者,并加速去追那个骑得更快的人。
我们假设魏威到达M小区大门的时间是0。给定其它人的出发时刻和速度,你的任务是给出魏威到达单位的时间。
输入
有多组测试样例。每个测试样例的第一行是N(1≤N≤10000)N(1\le N \le 10000)N(1≤N≤10000),代表骑行者的数量(除了魏威)。
当N=0N=0N=0时结束输入。接下来的N行是N个不同骑行者的信息,形式如下:
Vi [TAB] Ti
Vi 是一个小于等于40的正整数,表示第i个骑行者的速度(kph,公里/小时)。Ti是第i个骑行者的触发时间,是一个整数,单位是秒。任何样例都可以保证总是有一个非负的Ti。
输出
对每个样例输出一行:魏威的到达时间。当遇到分数时,向上取整。
【题目考点】
1. 贪心
【解题思路】
记t0t_0t0为魏威的出发时间,他的出发时间为大于等于0的骑行者出发时间中的最小值。
出发时间txt_xtx早于魏威出发时间t0t_0t0的人xxx(即tx<t0t_x < t_0tx<t0),一定不会被魏威跟随同时到达终点。
有两种情况:
(1)如果魏威的速度小于或等于xxx的速度,那么魏威一定追不上xxx,不会与他同时到达终点。
(2)如果魏威的速度大于骑行者x的速度,他仍然可能追不上xxx。如果在骑行过程中追上了xxx,他就会超过xxx。由于魏威只会跟随速度大于等于他的骑行者,所以他不会跟随xxx。在出发时间等于或晚于魏威出发时间的骑行者中,只要有超过魏威的骑行者,魏威就会跟上那个人。如果把这个过程看做自行车比赛,魏威就会一直跟着比赛过程中排在第一名的骑行者,因而魏威也一定会跟着第一个冲到终点的骑行者。
所以魏威从出发到到达单位的总时间,就是出发时间等于或晚于魏威出发时间(tx≥0t_x \ge0tx≥0)的骑行者中,第一个到达终点4500m位置的骑行者的骑行时间。
根据:速度*时间=路程,如果vxv_xvx为某骑行者的速度,txt_xtx为该骑行者的出发时刻,tarrt_{arr}tarr为到达终点的时刻,sss为路程,那么有
s=vx∗(tarr−tx)s = v_x*(t_{arr} - t_x)s=vx∗(tarr−tx)
求ttt,有tarr=s+vx∗txvxt_{arr} = \frac{s + v_x*t_x}{v_x}tarr=vxs+vx∗tx
已知s为4500,求满足tx≥0t_x\ge 0tx≥0的xxx中,求出的tarrt_{arr}tarr的最小值。
【题解代码】
解法1:求满足tx≥0t_x\ge 0tx≥0的xxx中,s+vx∗txvx\frac{s + v_x*t_x}{v_x}vxs+vx∗tx的最小值。
#include<bits/stdc++.h>
using namespace std;
#define N 10005
#define INF 1e9
int main()
{int n;double v[N], t[N];//v:速度,单位m/s while(cin >> n && n != 0){ double tmin = INF, time;for(int i = 1; i <= n; ++i){cin >> v[i] >> t[i];v[i] *= 5.0/18;//单位从km/h变为m/s if(t[i] >= 0)//找出发时间等于或晚于st_i的骑手中tmin = min(tmin, 4500/v[i]+t[i]);//求出i到达终点的时刻中的最小值 }cout << ceil(tmin) << endl;}return 0;
}
信息学奥赛一本通 1227:Ride to Office | OpenJudge NOI 4.6 2404:Ride to Office相关推荐
- 信息学奥赛一本通 1209:分数求和 | OpenJudge NOI 1.13 12:分数求和
[题目链接] ybt 1209:分数求和 OpenJudge NOI 1.13 12:分数求和 [题目考点] 1. 求最大公约数 2. 求最小公倍数 [解题思路] 求最大公约数,可以用辗转相除法.具体 ...
- 信息学奥赛一本通 1294:Charm Bracelet | OpenJudge NOI 2.6 7113:Charm Bracelet | 洛谷 P2871
[题目链接] ybt 1294:Charm Bracelet OpenJudge NOI 2.6 7113:Charm Bracelet 洛谷 P2871 [USACO07DEC]Charm Brac ...
- 信息学奥赛一本通 1173:阶乘和 | OpenJudge NOI 1.6 15 | 洛谷 P1009 [NOIP1998 普及组] 阶乘之和
[题目链接] ybt 1173:阶乘和 注:一本通上这题,应该把n≤50n\le50n≤50当做n≤100n\le100n≤100来看 OpenJudge NOI 1.6 15:阶乘和 洛谷 P100 ...
- 信息学奥赛一本通 1232:Crossing River | OpenJudge NOI 4.6 702:Crossing River
[题目链接] ybt 1232:Crossing River OpenJudge NOI 4.6 702:Crossing River 一本通里的翻译不够完整,OpenJudge中的英文原题中有对数据 ...
- 信息学奥赛一本通 1194:移动路线 | OpenJudge NOI 2.6 2718:移动路线
[题目链接] ybt 1194:移动路线 OpenJudge NOI 2.6 2718:移动路线 [题目考点] 1. 坐标型动态规划 [解题思路] 解法1:递推 设状态数组dp,dp[i][j]表示从 ...
- 信息学奥赛一本通 1193:吃糖果 | OpenJudge NOI 2.6 1944:吃糖果
[题目链接] OpenJudge NOI 2.6 1944:吃糖果 注:ybt 1193:吃糖果 页面打不开,可以在OpenJudge做该题. [题目考点] 1. 递推/递归 2. 搜索 [解题思路] ...
- 信息学奥赛一本通 1191:流感传染 | OpenJudge NOI 2.3 6262:流感传染
[题目链接] ybt 1191:流感传染 OpenJudge NOI 2.3 6262:流感传染 [题目考点] 1. 二维数组 2. 队列 [解题思路] 用一个字符型二维数组存储各个房间的情况. 1. ...
- 信息学奥赛一本通 1185:单词排序 | OpenJudge NOI 1.10 10:单词排序
[题目链接] ybt 1185:单词排序 OpenJudge NOI 1.10 10:单词排序 [题目考点] 1. 排序 [君义精讲]排序算法 2. 字符串比较 字符数组比较: char s1[N], ...
- 信息学奥赛一本通 1182:合影效果 | OpenJudge NOI 1.10 07:合影效果
[题目链接] ybt 1182:合影效果 OpenJudge NOI 1.10 07:合影效果 [题目考点] 1. 排序 [君义精讲]排序算法 [解题思路] 解法1:将男生身高和女生身高分别排序 将男 ...
最新文章
- C++实现CString和string的互相转换(转)
- 是时候抛弃web.xml了?
- django弹出对话框_Django实现简单网页弹出警告代码
- 医保费用监控指标体系建立(四)医疗机构指标分析
- RTSP播放器开发填坑之道
- 通过腾讯地图、高德地图、百度地图开发接口获取坐标对应的周边相关信息
- Python数据可视化库——Matplotlib
- 触控屏c语言程序,触摸屏编程软件 C-more Micro Programming Software V3.0
- 致虚极,守静笃【转】
- Nods.js安装配置(windows)
- OMNeT 例程 Tictoc9 学习笔记
- java jive歌词翻译_Java Jive歌词 Java JiveLrc歌词
- calendar java起始于结束时间,java获取一天的开始时间和一天的结束时间
- React Native手动实现调用原生相机相册(Android端)
- 华夏相机开发/臻识相机开发/车牌识别器开发对接使用总结
- QQ浏览器app应用专区推荐系统
- Ableton Live 10 Suite v10.1.42 WiN-MAC 音乐制作宿主软件
- Dos命令行修改文件夹路径里的文件
- 安装centOS7报未知错误
- 做了一个pichome的windows绿色版,解压即用,方便快速测试。