首AC,这是二分啊
2024-05-20 22:30:29
发布于:浙江
40阅读
0回复
0点赞
洛谷传送门和狗家传送门
要不是我去看了看某谷题解,我还不知道这道题为什么要用二分
我就解了个一元一次方程(速度和距离算常量),然后就有了以下代码
#include<bits/stdc++.h>
using namespace std;
int main() {
double ans,a,b,s,x;
cin>>s>>a>>b;
// x=(a*s+b*s)/(3*a+b);
// ans=x/b+s/a-x/a;
printf("%.6f",(a*s+b*s)/(3*a+b)/b+s/a-(a*s+b*s)/(3*a+b)/a);
return 0;
}
可以看到我原来ans和x的痕迹啊,以下是思路:
小车带第一个人行驶x的距离后回返,回去接第二个人,带他直接去到B处,此时刚好第一个人也到了B处,就可以做到最省时间(由于两人同时到,就没有浪费乘车机会)得出公式:
(s-x)/a=2(2x/(a+b)-x/b)+(s-x)/b
至于距离就等于:
x/b+s/a-x/a
接下来将他当成一道应用题解总会吧
解:设小车带第一个人行驶x的距离后回返,人的速度为a,车的速度为b,可得方程:
(s-x)/a=2(2x/(a+b)-x/b)+(s-x)/b 接下来过程有点繁杂,就跳过了(我还解错了一次:( )
解得x=(b+a)*s/(b+3a)
带入距离s=x/b+s/a-x/a就行了
主要是橡皮爱压行,代码就有一点奇怪
完结撒花......
题外话:
感谢您的阅读,麻烦您的贵手轻抬点个赞,在顺手来我们团队打个卡,谢谢大大!
若有bug欢迎提出
这里空空如也
有帮助,赞一个