P1258 小车问题
题目链接:P1258 小车问题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
题目大意:
两个人一起去一个地方,可以坐车每次只能坐一个人,求两个人同时到地方的最少时间
思路:
用二分查找:先用车载一个人走到一定的位置然后返回载另一个人,两个人在一起到达地方。查找的就是那个位置
坑点:
数据类型应该是double,如果是整型会省去小数部分
当车载第一个人的时候第二个人也在步行前进,同样将第一个放下后,他就开始步行前进
代码:(非原创)
#include<cstdio>
#include<cmath>
int main()
{double s,s1,s2,v1,v2,t1,t2,p;double a,b;scanf("%lf%lf%lf",&s,&v1,&v2);s1=0;s2=s;do//相当于二分不断找适和的用车先载一个人走在回来接第二个人一起走的距离 {p=(s1+s2)/2.0;//路程的一半 a=p/v2;//人的速度走一半的路程花的时间 b=(p-a*v1)/(v1+v2);//车和人相向而行直到相遇所用的时间 t1=a+(s-p)/v1;//一半路程热走一半坐车走所用的时间 t2=a+b+(s-(a+b)*v1)/v2;//用方便的方法所用的时间 if(t1<t2)//相当于二分中更新L和R的式子 s2=p;elses1=p;}while(fabs(t1-t2)>1e-8);//误差1e-8(自己设的) printf("%.6lf",t1);return 0;
}
总结:
一般是用for循环,这个只是为了减小误差用的。应该知道1e-8是什么意思吧?就是1的多少次方(e后面加具体的几次方的数字)减8
P1258 小车问题相关推荐
- 洛谷——P1258 小车问题
P1258 小车问题 题目描述 甲.乙两人同时从A地出发要尽快同时赶到B地.出发时A地有一辆小车,可是这辆小车除了驾驶员外只能带一人.已知甲.乙两人的步行速度一样,且小于车的速度.问:怎样利用小车才能 ...
- P1258 小车问题(二分法)
P1258 小车问题 该题可以用二分法去做 #include<bits/stdc++.h> using namespace std; int main() {double s,va,vb, ...
- 洛谷P1258 小车问题(题解)
https://www.luogu.org/problemnew/show/P1258(题目传送) 看题的第一眼就把题归为二分题,一直向着二分的方向走,却忽略了数学的推理.推理一番后(看了题解),发现 ...
- 【STUDY】算法OJ+知识点
[课程资源] 从小白到精通--视频.算法设计. [蚁群/遗传算法] 1.传统算法 2.蚁群/遗传算法+TSP/CVRP 车辆路径问题(Vehicle Routing Problem,VRP)车辆路线问 ...
- 二分答案——小车问题(洛谷 P1258)
题目选自洛谷P1258 主要是为了练习二分的基本思想, 具体思路如下 当然,还有更直接的方法,因为这道题就像小学解方程一样! 首先车带一个人行驶x段距离 然后丢下 折回找另外一个人 半路碰上 带回终点 ...
- 51单片机 小车 L298N pwm调速 串口控制 按键控制
难点:1.串口定时器T1,和T0定时器优先级 2.pwm频率与占空比的设置 按键控制 按键1--前进 按键2--后退 按键3--加速 按键4--减速 (板子上只有四个按键) 串口控制 '1'--前进 ...
- Gazebo构建小车模型并通过ROS控制
Gazebo构建小车模型并通过ROS控制 介绍 编写车子的URDF文件 编写控制小车移动的插件(与ROS交互) 结尾 介绍 突然想试试Gazebo这款仿真软件,因为它可以让你在任何时候都有机器人玩. ...
- python做运动控制_第一课:用Python操控小龟小车运动
欢迎来到小龟的课堂,今天我们讲如何用小龟小车的车载Python控制小车运动. 如果小伙伴还不会使用小龟小车的Python编辑器的话,可以阅读这篇教程<如何使用小龟小车的Python编辑器> ...
- 树莓派视觉小车 -- OpenCV巡线(HSL色彩空间、PID)
目录 试错 试错1:形态学处理 试错2:HSV色彩空间 基础理论 1.HSV与HSL色彩空间 2.PID调节 一.OpenCV图像处理 1.在HSL色彩空间下得到二值图 2. 对二值图形态学处理 3. ...
最新文章
- centos 升级4.0 内核
- 网络营销——营销型网站如何在网络营销大环境中展开宣传与推广
- 小程序离成功还差一个版本
- 前端之JQuery(二)
- 新一代需求管理工具Trufun Bacon X正式发布!
- C#LeetCode刷题之#225-用队列实现栈(Implement Stack using Queues)
- 操作系统锁的实现方法有哪几种_java 偏向锁、轻量级锁及重量级锁synchronized原理...
- 通过使用autoruns、procexp、currports相结合,来提高检查效率,清除干净木马病毒。
- MBR分区表格式与GPT分区表格式简介
- yoga14s amd r7-4800h虚拟机安装黑苹果记录
- 当前地震预测研究的状况报告
- 《华为机试》刷题之HJ77 火车进站
- 不忘初心,砥砺前行。
- 未来感html5模板,未来感的家
- 使用you-get批量下载B站视频
- 微信扫码登录功能实现
- 根据卫星lat,lon,alt,俯仰角,方位角,推算绘制地面的拍摄的区域
- Python 网络爬虫实战:猫眼电影 38950 条评论数据告诉你《无名之辈》是否值得一看?
- javascript实现图片上传实时显示上传图片
- [附源码]Python计算机毕业设计Django企业售后服务管理系统