UVALive-7198 Tall orders 微积分 二分
题目链接:https://cn.vjudge.net/problem/UVALive-7198
题意
有悬链线方程$ f(x)=a \cdot cosh(\frac{s}{a}) $,
现有两个电线杆高p,水平距离d,上有电线。
这两个电线杆之间要通火车,这要求电线曲线最低点要离地面高4.2m。
给出p, d问电线长度L最长多少?
思路
简单积分题。
首先当然把参数a求出来,这里参数a只能是规定曲线的宽窄(很多人觉得a就是地面距最低点的距离,然而这俩没关系)。
有这样的方程:$ 4.2=p+a-a \cdot cosh(\frac{d}{2a}) $
有了这个方程就可以求a了,为了方便求a,我们可以研究一下函数关于a的单调性。
直接输出值看看得是单调就完事了,但是为了严谨,比赛结束求一下还是好的。
单调函数,这个a二分就好了。
电线长度就只能积分求解:
& 2\int^{\frac{d}{2}}_{0} \sqrt{dx^2+dy^2} \\
& =2\int^{\frac{d}{2}}_{0} \sqrt{1+(\frac{dy}{dx})^2} dx\\
& =\int^{\frac{d}{2}}_{0} \sqrt{4+(e^{\frac{x}{a}}-e^{-\frac{x}{a}})^2} dx\\
& =\int^{\frac{d}{2}}_{0} e^{-\frac{x}{a}} \sqrt{e^{\frac{4x}{a}}+2e^{\frac{2x}{a}}+1} dx \\
& =\int^{\frac{d}{2}}_{0} e^{\frac{x}{a}}+e^{-\frac{x}{a}} dx \\
& =a(e^{\frac{d}{2a}}-e^{-\frac{d}{2a}})
\end{aligned}
\]
其中最后一步猜都可以猜出来,高中生水平做这个应该没有大问题。
(当年高二手推悬链线方程-_-,学校里写的研究报告到现在还没有进行评奖...)
提交过程
WA | 注意向下取整 |
AC |
代码
#include <cmath>
#include <cstdio>
#include <cstring>
const double eps2=1e-6, eps=1e-8;
double p, d;
bool equal(double a, double b){
return (a-b)<eps && (b-a)<eps;
}
double func(double a){
return a+p-a*cosh(d/(2*a));
}
double func2(double a){
return a*(exp(d/(2*a))-exp(-1*d/(2*a)));
}
double solve(void){
double l=1, r=1e4;
while (l<r){
double mid=(l+r)/2;
if (func(mid)<4.2) l=mid;
else r=mid;
if (r-l<eps2) return r;
}
}
int main(void){
while (scanf("%lf", &p)==1){
if (equal(p, -1)) break;
scanf("%lf", &d);
double a=solve();
printf("%0.3lf\n", floor((func2(a)*1000))/(double)1000);
}
return 0;
}
Time | Memory | Length | Lang | Submitted |
---|---|---|---|---|
None | None | 835 | C++ 5.3.0 | 2018-08-20 03:38:48 |
UVALive-7198 Tall orders 微积分 二分的更多相关文章
- Gym 101194D / UVALive 7900 - Ice Cream Tower - [二分+贪心][2016 EC-Final Problem D]
题目链接: http://codeforces.com/gym/101194/attachments https://icpcarchive.ecs.baylor.edu/index.php?opti ...
- UVALive 6656 Watching the Kangaroo --二分
题意:给你一些区间,再查询一些点,问这些点与所有区间形成的最小距离的最大值.最小距离定义为:如果点在区间内,那么最小距离为0,否则为min(pos-L[i],R[i]-pos). 解法:当然要排个序, ...
- UVALive 3635 Pie 切糕大师 二分
题意:为每个小伙伴切糕,要求每个小盆友(包括你自己)分得的pie一样大,但是每个人只能分得一份pie,不能拿两份凑一起的. 做法:二分查找切糕的大小,然后看看分出来的个数有没有大于小盆友们的个数,它又 ...
- UVALive 2949 Elevator Stopping Plan(二分 + 贪心)
ZSoft Corp. is a software company in GaoKe Hall. And the workers in the hall are very hard-working. ...
- UVALive 5903 Piece it together 二分匹配,拆点 难度:1
https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_probl ...
- UVALive - 3211 Now or later (二分+2SAT)
题目链接 题意:有n架飞机,每架飞机有两个着陆时间点可以选,要求任意两架飞机的着陆时间之差不超过k,求k的最大值. 解法:由于每架飞机都有两个选择,并且必选且只能选其中一个,时间冲突也是发生在两架飞机 ...
- UVALive - 7427 the math 【二分匹配】
题目链接 https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_ ...
- UVaLive 3971 Assemble (水题二分+贪心)
题意:你有b元钱,有n个配件,每个配件有各类,品质因子,价格,要每种买一个,让最差的品质因子尽量大. 析:很简单的一个二分题,二分品质因子即可,每次计算要花的钱的多少,每次尽量买便宜且大的品质因子. ...
- UVALive 4223 / HDU 2962 spfa + 二分
Trucking Problem Description A certain local trucking company would like to transport some goods on ...
随机推荐
- WEBGL学习【十一】光照模型
<!DOCTYPE HTML> <html lang="en"> <head> <title>Listing 7-3 and 7-4 ...
- WEBGL学习【十】运动模型
<!DOCTYPE HTML> <html lang="en"> <head> <title>LWEBGL6.2, Animated ...
- php 常用header
//定义编码 header( 'Content-Type:text/html;charset=utf-8 '); //Atom header('Content-type: application/at ...
- 使用 Laravel 5.5+ 更好的来实现 404 响应
译文首发于 使用 Laravel 5.5+ 更好的来实现 404 响应,转载请注明出处! Laravel 5.5.10 封装了两个有用的路由器方法,可以帮助我们为用户提供更好的 404 页面.现在,当 ...
- C 语言预编译 #if #else
这个方法我一般用来调试的时候用,有时候串口打印信息太多,一条条注释就很麻烦,于是就用这种方法,定义个宏变量,判断宏变量的条件,来达到改变宏变量的值控制那些代码编译,那些不编译的目的,这样就不用一条条代 ...
- 【Manthan, Codefest 18 (rated, Div. 1 + Div. 2) B】Reach Median
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 将数组排序一下. 考虑中位数a[mid] 如果a[mid]==s直接输出0 如果a[mid]<s,那么我们把a[mid]改成s ...
- logstash tcp multihost output(多目标主机输出,保证TCP输出链路的稳定性)
在清洗日志时,有一个应用场景,就是TCP输出时,须要在一个主机挂了的情况下,自已切换到下一个可用入口.而原tcp output仅支持单个目标主机设定.故本人在原tcp的基础上,开发出tcp_multi ...
- MMORPG大型游戏设计与开发(server 游戏场景 事件)
游戏截图 场景事件 一个完整的对象一般都拥有事件,至于什么是事件在这里就不多解释了. 在场景中的事件在天龙/武侠世界中的事件包含场景初始化.场景定时器.场景退出.玩家进入场景.角色升级.角色死亡.角色 ...
- wifi破解不是真黑客不靠谱?
Wifi破解神器骗局:摆地摊+网络兜售 近日,"万能wifipassword破解器"风靡全国地摊.各地小贩開始兜售这样的蹭网卡.声称可破解各种wifipassword,当场測试也是 ...
- bzoj3998: [TJOI2015]弦论(SAM+dfs)
3998: [TJOI2015]弦论 题目:传送门 题解: SAM的入门题目(很好的复习了SAM并加强Right集合的使用) 其实对于第K小的字符串直接从root开始一通DFS就好,因为son边是直接 ...