P1258小车问题
很多人质疑它是二分,但其实它就是二分(我会说我不会解方程吗)
据说有很多人没看懂题干在说些什么,那就不要管题干了。拿样例算一遍,我们看看样例的答案是怎么算出来的。

这是样例。看到这个数,我们很懵逼。众所周知,坐车比走路快。那么让谁先坐车,坐到哪,就是个问题。因为甲,乙两人要同时到终点,所以肯定不能坐车坐到终点。那么不妨假设让一个人坐车坐到一半(既然是假设,就随便蒙就好了),设这个过程为<1>,然后车再回去接第二个人,设这个过程为<2>,再追赶第一个人,这个过程为<3>。
设第一个人所处的位置为a1,第二个人所处的位置为a2。那么<1>是一个很一般的计算,a1=(s+a2)/2, 所用时间t=(a2-a1)/b, ans先加上t,记得用double类型。<2>是相遇问题,此时t=(a1-a2)/(b+a)(人也在走路),ans加上t ,a2+=a*t<3>是追击问题,t=(a1-a2)/(b-a) ,ans+=t,a2=a1(此时第二个人追上第一个人)。之后第一个人再坐车走。这就构成了循环。既然题目给出了精度为小数点后6位,那就循环直到 s-a1<0.000001,这样这个题就做完了,虽然代码会比解方程要长,但是思路好想。废话不多说,上代码
#include<iostream>
#include<cstdio>
using namespace std;
double s,a,b;
double t,ans;
double a1,a2;
void xc()
{
a2=(s+a1)/;
t=1.0*(a2-a1)/b;
a1+=1.0*a*t;ans+=t;
t=1.0*(a2-a1)/(b+a);
a2+=1.0*a*t;a1+=1.0*a*t;ans+=t;
t=1.0*(a2-a1)/(b-a);a2+=1.0*a*t;a1=a2;ans+=t;
//莫名其妙的把代码打成了三角...
}
int main()
{
cin>>s>>a>>b;
while(s-a1>0.000001)
{
xc(); }
ans=ans+(s-a1)/a*1.0;
printf("%.6lf",ans);
}
P1258小车问题的更多相关文章
- P1258 小车问题
P1258 小车问题 蒟蒻精神自强不息蒟蒻精神永不言败加油加油ヾ(◍°∇°◍)ノ゙yeah yeah yeah 据说这是道小学奥数题抱歉蒟蒻的我没学过奥数,算了大概三大张演草纸,不得不说这题对于蒟蒻本 ...
- 洛谷——P1258 小车问题
P1258 小车问题 题目描述 甲.乙两人同时从A地出发要尽快同时赶到B地.出发时A地有一辆小车,可是这辆小车除了驾驶员外只能带一人.已知甲.乙两人的步行速度一样,且小于车的速度.问:怎样利用小车才能 ...
- 洛谷P1258 小车问题(题解)
https://www.luogu.org/problemnew/show/P1258(题目传送) 看题的第一眼就把题归为二分题,一直向着二分的方向走,却忽略了数学的推理.推理一番后(看了题解),发现 ...
- 洛谷P1258 小车问题
题目描述 甲.乙两人同时从A地出发要尽快同时赶到B地.出发时A地有一辆小车,可是这辆小车除了驾驶员外只能带一人.已知甲.乙两人的步行速度一样,且小于车的速度.问:怎样利用小车才能使两人尽快同时到达. ...
- 洛谷 P1258 小车问题
题目传送门 解题思路: 首先,每个人都要做一次车,而且两个人要同时到达,这样才能使总时间最短. 那么,我们设起点为A,终点为B,小车先带甲开到C点后甲下车走到B点,同时小车掉头与已经走到D点的乙相向而 ...
- 【洛谷p1258】小车问题
(……吓人,心有余悸) 小车问题[传送门] 洛谷算法标签:: (行吧它居然是个二分[解方程的我抖抖发瑟]) 作为一个写了一页演草纸才解出来的方程,显然我要好好写一写(希望不会半途而废) 思路: 先把其 ...
- 基于pcDuino-V2的无线视频智能小车
这段时间抽空做了个智能视频小车.包含了pid电机控制.socket网络编程.多线程编程.epoll机制.gtk图形界面编程. 这是界面: 小车的底层是用的stm32f405系列的单片机+电机驱动做的一 ...
- Java基础-继承-编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数 wheels和车重weight。小车类Car是Vehicle的子类,其中包含的属性有载人数 loader。卡车类Truck是Car类的子类,其中包含的属性有载重量payload。每个 类都有构造方法和输出相关数据的方法。最后,写一个测试类来测试这些类的功 能。
#29.编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数 wheels和车重weight.小车类Car是Vehicle的子类,其中包含的属性有载人数 loader.卡车类T ...
- 两轮自平衡小车双闭环PID控制设计
两轮自平衡小车的研究意义 ...
随机推荐
- seo:网站地图提交
对于SEO,网站地图的好处就更多了: 1.为搜索引擎蜘蛛提供可以浏览整个网站的链接简单的体现出网站的整体框架出来给搜索引擎看: 2.为搜索引擎蜘蛛提供一些链接,指向动态页面或者采用其他方法比较难以到达 ...
- linux 系统 目录,以部分及相关命令
linux 系统里的文件类型有: b. d.l. c. - .s (块设备.目录.软连接.数字串设备.普通文件(文本.二进行文件).socket文件 ) ls 命令 ls -a 查看当前目录下的所 ...
- sailsjs learning note
menu list: custom controller custom 模块使用 custom model custom middleware custom service ? 路由与对应的contr ...
- Vue.js系列之项目搭建
项目搭建具体步骤如下: 1.安装node (中)https://nodejs.org/zh-cn/ (英)https://nodejs.org/en/ 2.安装cnpm镜像 (node自带安装了npm ...
- nginx日志分割配置实例
Nginx没有类似Apache的cronolog日志分割处理的功能,但是,可以通过nginxNginx的信号控制功能利用脚本来实现日志的自动切割.请看下面的一个实例.Nginx对日志进行处理的脚本: ...
- csvn使用入门
在前面我们已经配置好了csvn服务器,直达链接http://blog.csdn.net/qq_34829953/article/details/78285647 现在我们在win10环境下使用我们搭建 ...
- nuxt docker 运行
nuxt 是vue 版的next ,实现的功能还是很方便的,对于需要开发性能要求比较高的web app 是一个很不错的选择 备注: 项目很简单,使用docker && docker-c ...
- sqler sql 转rest api 源码解析(四)macro 的执行
macro 说明 macro 是sqler 的核心,当前的处理流程为授权处理,数据校验,依赖执行(include),聚合处理,数据转换 处理,sql 执行以及sql 参数绑定 授权处理 这个是通过go ...
- Unity API 解析 (陈泉宏著)
1 Application类 2 Camera类 3 GameObject类 4 HideFlags类 5 Mathf类 6 Matrix4x4类 7 Object类 8 Quaternion类 9 ...
- Odoo 开源协议讨论
Odoo 开源协议讨论 Odoo 9 开始使用的 LGPL 开源协议,所以模块的加密并不会违反 Odoo 的开源协议. 如果使用 Odoo 8 (含)以前的版本开发模块,那么你在分发模块时也必须给使用 ...