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

【普通求导版】

Select Code

  1. #include<cstdio>
  2. #include<cmath>
  3. using namespace std;
  4. typedef double real;
  5. const real eps=1e-5;
  6. int cas,Cas,D,H,B,L;
  7. real F(real a,real x){
  8. real a2=a*a;
  9. real x2=x*x;
  10. return (x*sqrt(a2+x2)+a2*log(fabs(x+sqrt(a2+x2))))/2.0;
  11. }
  12. real calc(real w,real h){
  13. real a=4.0*h/(w*w);
  14. real A=1.0/(2.0*a);
  15. return (F(A,w/2.0)-F(A,0))*4.0*a;
  16. }
  17. int main(){
  18. for(scanf("%d",&cas);cas--;){
  19. scanf("%d%d%d%d",&D,&H,&B,&L);
  20. int n=(B+D-1)/D;
  21. real D1=(real)B/n;
  22. real L1=(real)L/n;
  23. real l=0.0,r=H,mid;
  24. while(l+eps<r){
  25. mid=(l+r)/2.0;
  26. if(calc(D1,mid)<L1) l=mid;else r=mid;
  27. }
  28. printf("Case %d:\n%.2lf\n",++Cas,H-l);
  29. if(cas) putchar('\n');
  30. }
  31. return 0;
  32. }

【辛普森自适应版】

Select Code

  1. #include<cstdio>
  2. #include<cmath>
  3. using namespace std;
  4. typedef double real;
  5. const real eps=1e-5;
  6. int cas,Cas,D,H,B,L;
  7. real a;
  8. real F(real x){
  9. real a2=a*a;
  10. real x2=x*x;
  11. return sqrt(1.0+4.0*a2*x2);
  12. }
  13. real simpson(real a,real b){
  14. real c=(a+b)/2.0;
  15. return (F(a)+4.0*F(c)+F(b))*(b-a)/6.0;
  16. }
  17. real asr(real a,real b,real eps,real A){
  18. real c=(a+b)/2.0;
  19. real L=simpson(a,c),R=simpson(c,b);
  20. if(fabs(L+R-A)<=15*eps) return L+R+(L+R-A)/15;
  21. return asr(a,c,eps/2,L)+asr(c,b,eps/2,R);
  22. }
  23. real asr(real a,real b,real eps){
  24. return asr(a,b,eps,simpson(a,b));
  25. }
  26. real calc(real w,real h){
  27. a=4.0*h/(w*w);
  28. return asr(0,w/2.0,eps)*2.0;
  29. }
  30. int main(){
  31. for(scanf("%d",&cas);cas--;){
  32. scanf("%d%d%d%d",&D,&H,&B,&L);
  33. int n=(B+D-1)/D;
  34. real D1=(real)B/n;
  35. real L1=(real)L/n;
  36. real l=0.0,r=H,mid;
  37. while(l+eps<r){
  38. mid=(l+r)/2.0;
  39. if(calc(D1,mid)<L1) l=mid;else r=mid;
  40. }
  41. printf("Case %d:\n%.2lf\n",++Cas,H-l);
  42. if(cas) putchar('\n');
  43. }
  44. return 0;
  45. }

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. sed正则

    sed -i 's/[A-Za-z0-9]*\.sdongpo\.com/group110.sdongpo.com/g' test.js

  2. 剑指offer代码 vs2013执行

    方法: 代码文件夹名称为:CodingInterviewChinese2-master 1. 用vs2013加载解决方案 .sln文件 2. 一个解决方案下面有多个项目,通过右键解决方案->属性 ...

  3. 如何用nodejs 开发一个命令行交互工具

    参考地址1 参考地址2 一.npm package.json bin 1.package.json { "name": "test", "versio ...

  4. iOS图片上传及处理

    从摄像头或者是从相冊中读取图片.须要通过UIImagePickerController类来实现,在使用UIImagePickerController时,须要是实现以下两个协议 <UINaviga ...

  5. PaaS 平台的网络需求

    在使用 Docker 构建 PaaS 平台的过程中,我们首先遇到的问题是需要选择一个满足需求的网络模型: 让每个容器拥有自己的网络栈,特别是独立的 IP 地址 能够进行跨服务器的容器间通讯,同时不依赖 ...

  6. imooc 生鲜超市笔记

    1.启动前端项目(Vue.js) cnpm run dev

  7. 新手入门贴:史上最全Web端即时通讯技术原理详解

    关于IM(InstantMessaging)即时通信类软件(如微信,QQ),大多数都是桌面应用程序或者native应用较为流行,而网上关于原生IM或桌面IM软件类的通信原理介绍也较多,此处不再赘述.而 ...

  8. 关于Aspose强大的应用--EXECL

    protected void btnConfirg_Click(object sender, EventArgs e) { genExcel(); } //设置内容文字色 表中有一个蓝色文字列和绿色文 ...

  9. Hive:数据仓库工具,由Facebook贡献。

    Hadoop Common: 在0.20及以前的版本中,包含HDFS.MapReduce和其他项目公共内容,从0.21开始HDFS和MapReduce被分离为独立的子项目,其余内容为Hadoop Co ...

  10. Application应用程序级变量

    对于每一个网站访问用户都要访问的变量,应该将它设为________变量.(选择1项) A. Session B. Reques C. Response D. Application 解答:D