做此题完全是为了练积分。

【普通求导版】

Select Code

#include<cstdio>
#include<cmath>
using namespace std;
typedef double real;
const real eps=1e-5;
int cas,Cas,D,H,B,L;
real F(real a,real x){
real a2=a*a;
real x2=x*x;
return (x*sqrt(a2+x2)+a2*log(fabs(x+sqrt(a2+x2))))/2.0;
}
real calc(real w,real h){
real a=4.0*h/(w*w);
real A=1.0/(2.0*a);
return (F(A,w/2.0)-F(A,0))*4.0*a;
}
int main(){
for(scanf("%d",&cas);cas--;){
scanf("%d%d%d%d",&D,&H,&B,&L);
int n=(B+D-1)/D;
real D1=(real)B/n;
real L1=(real)L/n;
real l=0.0,r=H,mid;
while(l+eps<r){
mid=(l+r)/2.0;
if(calc(D1,mid)<L1) l=mid;else r=mid;
}
printf("Case %d:\n%.2lf\n",++Cas,H-l);
if(cas) putchar('\n');
}
return 0;
}

【辛普森自适应版】

Select Code

#include<cstdio>
#include<cmath>
using namespace std;
typedef double real;
const real eps=1e-5;
int cas,Cas,D,H,B,L;
real a;
real F(real x){
real a2=a*a;
real x2=x*x;
return sqrt(1.0+4.0*a2*x2);
}
real simpson(real a,real b){
real c=(a+b)/2.0;
return (F(a)+4.0*F(c)+F(b))*(b-a)/6.0;
}
real asr(real a,real b,real eps,real A){
real c=(a+b)/2.0;
real L=simpson(a,c),R=simpson(c,b);
if(fabs(L+R-A)<=15*eps) return L+R+(L+R-A)/15;
return asr(a,c,eps/2,L)+asr(c,b,eps/2,R);
}
real asr(real a,real b,real eps){
return asr(a,b,eps,simpson(a,b));
}
real calc(real w,real h){
a=4.0*h/(w*w);
return asr(0,w/2.0,eps)*2.0;
}
int main(){
for(scanf("%d",&cas);cas--;){
scanf("%d%d%d%d",&D,&H,&B,&L);
int n=(B+D-1)/D;
real D1=(real)B/n;
real L1=(real)L/n;
real l=0.0,r=H,mid;
while(l+eps<r){
mid=(l+r)/2.0;
if(calc(D1,mid)<L1) l=mid;else r=mid;
}
printf("Case %d:\n%.2lf\n",++Cas,H-l);
if(cas) putchar('\n');
}
return 0;
}

LA3485 Bridge[(辛普森自适应)微积分]的更多相关文章

  1. uva 1356 Bridge ( 辛普森积分 )

    uva 1356 Bridge ( 辛普森积分 ) 不要问我辛普森怎么来的,其实我也不知道... #include<stdio.h> #include<math.h> #inc ...

  2. LA3485 Bridge

    题意 PDF 分析 以<训练指南>上的分析为准. 二分法时间复杂度\(O(\log v)\) 代码 #include<bits/stdc++.h> #define rg reg ...

  3. UVA 1356 - Bridge(自适应辛普森)

    UVA 1356 - Bridge option=com_onlinejudge&Itemid=8&page=show_problem&category=493&pro ...

  4. 洛谷4525 & 4526:【模板】自适应辛普森法——题解

    参考:https://phqghume.github.io/2018/05/19/%E8%87%AA%E9%80%82%E5%BA%94%E8%BE%9B%E6%99%AE%E6%A3%AE%E6%B ...

  5. LA 3485 (积分 辛普森自适应法) Bridge

    桥的间隔数为n = ceil(B/D),每段绳子的长度为L / n,相邻两塔之间的距离为 B / n 主要问题还是在于已知抛物线的开口宽度w 和 抛物线的高度h 求抛物线的长度 弧长积分公式为: 设抛 ...

  6. HAUT 1261地狱飞龙 自适应辛普森 数值积分

    1261: 地狱飞龙 时间限制: 1 秒  内存限制: 64 MB 提交: 300  解决: 68 题目描述 最近clover迷上了皇室战争,他抽到了一种地狱飞龙,很开心.假设地域飞龙会对距离为d的敌 ...

  7. 【自适应辛普森积分】hdu1724 Ellipse

    Ellipse Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Sub ...

  8. 【LA3485】 Bridge

    前言 哈哈哈,垃圾微积分哈哈哈 前置知识:自适应Simpson法与微积分初步,学会编程 Solution 考虑一下我们有的是什么: 一段桥梁的横向距离,悬线的长度,以及高度. 我们发现如果我们重新设一 ...

  9. 洛谷P4525 【模板】自适应辛普森法1(simpson积分)

    题目描述 计算积分 结果保留至小数点后6位. 数据保证计算过程中分母不为0且积分能够收敛. 输入输出格式 输入格式: 一行,包含6个实数a,b,c,d,L,R 输出格式: 一行,积分值,保留至小数点后 ...

随机推荐

  1. 使用sqlplus连接提示:ORA-28002: the password will expire within 7 days

    今天在使用sqlplus时出现,或使用数据库的时候出现类似问题 =============================================== ERROR:ORA-28002: the ...

  2. Redis(七):Jedis简介和集群

    Jedis简介 1.Jedis 是Redis 客户端工具jar2.使用非集群版示例代码 Jedis jedis = new Jedis("192.168.139.132", 637 ...

  3. MySQL错误代码大全(史上最全)

    用任何主机语言调用MySQL时可能出现的错误.首先,列出了服务器错误消息.其次列出了客户端程序消息. B.1. 服务器错误代码和消息  服务器错误信息来自下述源文件: · 错误消息信息列在share/ ...

  4. location ^~ /images/

    } location ^~ /images/ { root /static/; } #当匹配到/images/ 开头的uri 会把网站定位到/static/下,并且不在向下继续匹配!!! 注意: ^~ ...

  5. json对象与json字符串互转方法

    jQuery插件支持的转换方式: 复制代码 代码如下: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象 ...

  6. HDU 1863 畅通工程 克鲁斯卡尔算法

    畅通工程 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  7. maven中配置jdk版本

    1 maven 中配置 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins< ...

  8. 开源搜索引擎评估:lucene sphinx elasticsearch (zhuan)

    http://lutaf.com/158.htm ************************ 开源搜索引擎程序有3大类 lucene系,java开发,包括solr和elasticsearch s ...

  9. Django REST framework 知识点总结

    一.安装DjangoREST framework #先安装Django #安装必要的包 pip install djangorestframework coreapi (1.32.0+) - Sche ...

  10. DelphiXE8FMX工程实现无边框托动(发送消息)

    1.引用单元 uses Winapi.Windows, FMX.Platform.Win, Winapi.Messages; 2.发送消息 //发送系统消息SendMessage(FmxHandleT ...