uva 1356 Bridge ( 辛普森积分 )
不要问我辛普森怎么来的,其实我也不知道。。。
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<algorithm>
using namespace std ; double d , h , m , b , l , w ; double f ( double x ) {
double a = 4.0 * m / w / w ;
return sqrt ( 1.0 + 4 * a * a * x * x ) ;
} double simp ( double a , double b ) {
double c = a + ( b - a ) / 2 ;
return ( f( a ) + 4 * f ( c ) + f ( b ) ) * ( b - a ) / 6 ;
} double asr ( double a , double b , double eps , double A ) {
double c = ( a + ( b - a ) / 2 ) ;
double L = simp ( a , c ) , R = simp ( c , b ) ;
if ( fabs ( L + R - A ) <= 15 * eps )
return L + R + ( L + R - A ) / 15.0 ;
return asr ( a , c , eps / 2 , L ) + asr ( c , b , eps / 2 , R ) ;
} double asr ( double a , double b , double eps ) {
return asr ( a , b , eps , simp ( a , b ) ) ;
} int main () {
int T , ca = 0 ;
scanf ( "%d" , &T ) ;
while ( T -- ) {
scanf ( "%lf%lf%lf%lf" , &d , &h , &b , &l ) ;
double n = ceil ( b / d ) ;
l = l / n , w = b / n ;
double x = 0 , y = h ;
while ( fabs ( y - x ) >= 1e-8 ) {
m = ( x + y ) / 2 ;
double k = 2 * asr ( 0 , w / 2 , 1e-8 , simp ( 0 , w / 2 ) ) ;
if ( k < l ) x = m ;
else y = m ;
}
printf ( "Case %d:\n" , ++ ca ) ;
printf ( "%.2lf\n" , h - x ) ;
if ( T ) puts ( "" ) ;
}
return 0 ;
}
uva 1356 Bridge ( 辛普森积分 )的更多相关文章
- UVA 1356 - Bridge(自适应辛普森)
UVA 1356 - Bridge option=com_onlinejudge&Itemid=8&page=show_problem&category=493&pro ...
- BZOJ 2178: 圆的面积并 [辛普森积分 区间并]
2178: 圆的面积并 Time Limit: 20 Sec Memory Limit: 259 MBSubmit: 1740 Solved: 450[Submit][Status][Discus ...
- 【自适应辛普森积分】hdu1724 Ellipse
Ellipse Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Sub ...
- BZOJ2178 圆的面积并 计算几何 辛普森积分
原文链接https://www.cnblogs.com/zhouzhendong/p/BZOJ2178.html 题目传送门 - BZOJ2178 题意 给出 $n(n\leq 1000)$ 个圆,求 ...
- 【BZOJ2178】圆的面积并(辛普森积分)
[BZOJ2178]圆的面积并(辛普森积分) 题面 BZOJ 权限题 题解 把\(f(x)\)设为\(x\)和所有圆交的线段的并的和. 然后直接上自适应辛普森积分. 我精度死活一个点过不去,不要在意我 ...
- 【Learning】辛普森积分
辛普森积分 这种积分法很暴力:只要求你实现出函数求值\(f(x)\). 使用辛普森积分,我们可以求出函数一段区间\([l,r]\)的近似积分.记\(mid=\frac{l+r}2\),有: \[ \i ...
- [BZOJ1502]月下柠檬树(自适应辛普森积分)
1502: [NOI2005]月下柠檬树 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1387 Solved: 739[Submit][Status] ...
- bzoj 2178 圆的面积并 —— 辛普森积分
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2178 先看到这篇博客:https://www.cnblogs.com/heisenberg- ...
- hdu 1724 Ellipse —— 自适应辛普森积分
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1724 函数都给出来了,可以用辛普森积分: 一开始 eps = 1e-8 TLE了,答案只要三位小数,那么 ...
随机推荐
- poj 3273 Monthly Expense(贪心+二分)
题目:http://poj.org/problem?id=3273 题意:把n个数分成m份,使每份的和尽量小,输出最大的那一个的和. 思路:二分枚举最大的和,时间复杂度为O(nlog(sum-max) ...
- HDU 4869 Turn the pokers (2014 Multi-University Training Contest 1)
Turn the pokers Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)T ...
- bzoj2788
明显是一个差分约束系统 对于第一种限制,其实就是x[a]+1<=x[b] x[b]-1<=x[a] 根据三角不等式很容易建图 但这题他比较奇怪,问的是X最多不同取值的个数 根据这张图的特殊 ...
- codeforces 334B - Eight Point Sets
题意难懂,其实就是x1<x2<x3与y1<y2<y3两两组合成九个点,去掉(x2,y2),剩余八个.这样的八个点才是满足要求的. 忘去重了 #include<cstdio ...
- shell 中grep命令详解
用‘grep’搜索文本文件如果您要在几个文本文件中查找一字符串,可以使用‘grep’命令.‘grep’在文本中搜索指定的字符串.举个例子:假设您正在‘/usr/src/linux/Documentat ...
- Library cache lock/pin详解
Library cache lock/pin 一.概述 ---本文是网络资料加metalink 等整理得来一个实例中的library cache包括了不同类型对象的描述,如:游标,索引,表,视图,过程 ...
- db2数据库sql报错信息
sqlcode sqlstate 说明 000 00000 SQL语句成功完成 01xxx SQL语句成功完成,但是有警告 +012 01545 未限定的列名被解释为一个有相互关系的引用 +098 ...
- IIS应用程序池回收图文详解
转:http://blog.sina.com.cn/s/blog_8677fcaa010138uf.html 什么是应用程序池呢?这是微软的一个全新概念:应用程序池是将一个或多个应用程序链接到一个或多 ...
- 数据仓库之ETL漫谈
ETL,Extraction-Transformation-Loading的缩写,中文名称为数据抽取.转换和加载. 大多数据仓库的数据架构可以概括为: 数据源-->ODS(操作型数据存储)--& ...
- 关于AsyncTask 的退出
public class Task extends AsyncTask<Void, Void, Void>{ @Overrideprotected Void doInBackground( ...