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 ...
随机推荐
- BZOJ 4367 [IOI2014]holiday (决策单调DP+主席树+分治)
题目大意:略 题目传送门 神题,不写长题解简直是浪费了这道题 贪心 考虑从0节点出发的情况,显然一直往前走不回头才是最优策略 如果起点是在中间某个节点$s$,容易想到,如果既要游览$s$左边的某些景点 ...
- Problem 4
Problem 4 # Problem_4 """ A palindromic number reads the same both ways. The largest ...
- NOIP2018提高组省一冲奖班模测训练(六)
NOIP2018提高组省一冲奖班模测训练(六) https://www.51nod.com/Contest/ContestDescription.html#!#contestId=80 20分钟AC掉 ...
- ElasticSearch[v6.2] 在实际项目中的应用
摘要:本文所讲述的内容,为ElasticSearch(以下简称ES)全文搜索引擎在实际大数据项目的应用:ES的底层是开源库 Lucene.但是,你没法直接用 Lucene,必须自己写代码去调用它的接口 ...
- VirtualBox扩展包安装教程|VirtualBox扩展增强包怎么安装
VirtualBox是一款功能强大的免费虚拟机软件,一般我们安装VirtualBox后要安装扩展增强包,VirtualBox扩展包包含USB2.0和USB3.0控制等支持功能,如果没有装,在使用过程中 ...
- Android网络编程(十)Retrofit2后篇[注解]
G相关文章 Android网络编程(一)HTTP协议原理 Android网络编程(二)HttpClient与HttpURLConnection Android网络编程(三)Volley用法全解析 An ...
- 嵌入式linux和pc机的linux对照
linux本身具备的非常大长处就是稳定,内核精悍,执行时须要的资源少.嵌入式linux和普通linux并无本质差别. 在嵌入式系统上执行linux的一个缺点就是其核心架构没有又一次设计过,而是直接从桌 ...
- 基于lucene的案例开发:纵横小说分布式採集
转载请注明出处:http://blog.csdn.net/xiaojimanman/article/details/46812645 http://www.llwjy.com/blogdetail/9 ...
- 《深入理解Android 卷III》第六章 深入理解控件(ViewRoot)系统
<深入理解Android 卷III>即将公布,作者是张大伟.此书填补了深入理解Android Framework卷中的一个主要空白,即Android Framework中和UI相关的部分. ...
- Oracle 11G R2 用exp无法导出空表解决方法
四. Oracle 10g以后增加了expdp和impdp工具,用此工具也可以导出空的表 oracleexpdp/impdp 用法详解 1) 创建逻辑目录,该命令不会在操作系统创建真正的目录,最好 ...