simpson公式是用于积分求解的比较简单的方法(有模板都简单……

下面是simpson公式(很明显 这个公式的证明我并不会……

(盗图……

因为一段函数基本不可能很规则 所以我们要用自适应积分的方法

找了一道很水的积分题试试模板……

关于simpson要*15 网上有很具体的证明过程……

(细节移步至:http://www2.math.umd.edu/~mariakc/teaching/adaptive.pdf

  1. #include<cstdio>
  2. #include<iostream>
  3. #include<algorithm>
  4. #include<cmath>
  5. #include<cstring>
  6. #include<string>
  7. #define cl(a,b) memset(a,b,sizeof(a))
  8. #define debug(x) cerr<<#x<<"=="<<(x)<<endl
  9. using namespace std;
  10. typedef long long ll;
  11. const double eps=1e-;
  12.  
  13. double a,b,l,r;
  14.  
  15. double f(double x)
  16. {//原函数
  17. return sqrt((b*b)*(-(x*x)/(a*a)));
  18. }
  19.  
  20. double simpson(double a,double b)
  21. {//simpson公式
  22. double c=a+(b-a)/;
  23. return (f(a)+*f(c)+f(b))*(b-a)/;
  24. }
  25.  
  26. double asr(double a,double b,double eps,double A)
  27. {//自适应部分
  28. double c=a+(b-a)/;
  29. double L=simpson(a,c);
  30. double R=simpson(c,b);
  31. if(fabs(L+R-A)<=*eps) return L+R+(L+R-A)/15.0;//判断是否满足精度
  32. return asr(a,c,eps/,L)+asr(c,b,eps/,R);
  33. }
  34.  
  35. double asr(double a,double b,double eps)
  36. {//积分
  37. return asr(a,b,eps,simpson(a,b));
  38. }
  39.  
  40. int main()
  41. {
  42. int T;
  43. scanf("%d",&T);
  44. while(T--)
  45. {
  46. scanf("%lf%lf%lf%lf",&a,&b,&l,&r);
  47. printf("%.3f\n",*asr(l,r,eps));
  48. }
  49. return ;
  50. }
  51. /*
  52.  
  53. 2
  54. 2 1 -2 2
  55. 2 1 0 2
  56.  
  57. */

当然上面是数学不好的同学做的

数学好的同学是这么做的……

  1. #include<cstdio>
  2. #include<cmath>
  3. int main()
  4. {
  5. int T;
  6. scanf("%d",&T);
  7. while(T--)
  8. {
  9. double a,b,l,r;
  10. scanf("%lf%lf%lf%lf",&a,&b,&l,&r);
  11. double ans=acos(l/a);
  12. double ant=acos(r/a);
  13. double re=a*b*((sin(*ant)-sin(*ans))/-(ant-ans));
  14. printf("%.3f\n",re);
  15. }
  16. return ;
  17. }

(毫无疑问 这个同学不是我……

HDU 1724 Ellipse 自适应simpson积分的更多相关文章

  1. HDU 1724 Ellipse (自适应辛普森积分)

    题目链接:HDU 1724 Problem Description Math is important!! Many students failed in 2+2's mathematical tes ...

  2. hdu 1724 Ellipse —— 自适应辛普森积分

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1724 函数都给出来了,可以用辛普森积分: 一开始 eps = 1e-8 TLE了,答案只要三位小数,那么 ...

  3. hdu 1724 : Ellipse 【Simpson积分】

    题目链接 题意:给出椭圆方程中的a和b,再给出l.r,求l到r的积分的二倍. 输出时要求精度控制为保留到小数点后3位,如下代码中,eps设为1e-9 1e-8时均TLE,1e-4可以AC,1e-3会W ...

  4. HDU - 1724 Ellipse 自适应辛普森模板

    OJ 题解传送门 //Achen #include<algorithm> #include<iostream> #include<cstring> #include ...

  5. HDU 1724 Ellipse 【自适应Simpson积分】

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

  6. hdu 1724 Ellipse simpson积分

    /* hdu 1724 Ellipse simpson积分 求椭圆的部分面积 simpson积分法 http://zh.wikipedia.org/zh-tw/%E8%BE%9B%E6%99%AE%E ...

  7. 自适应Simpson积分

    自适应Simpson积分 作用 如标题所示,这玩意就是当你不会微积分的时候来求积分的. 总所周知,积分的定义就是函数的某一段与坐标轴之间的面积. 那么,自适应Simpson积分就是一种可以再某些精度下 ...

  8. 【bzoj1502】[NOI2005]月下柠檬树 自适应Simpson积分

    题目描述 李哲非常非常喜欢柠檬树,特别是在静静的夜晚,当天空中有一弯明月温柔地照亮地面上的景物时,他必会悠闲地坐在他亲手植下的那棵柠檬树旁,独自思索着人生的哲理.李哲是一个喜爱思考的孩子,当他看到在月 ...

  9. CSU 1806 Toll 自适应simpson积分+最短路

    分析:根据这个题学了一发自适应simpson积分(原来积分还可以这么求),然后就是套模板了 学习自适应simpson积分:http://blog.csdn.net/greatwall1995/arti ...

随机推荐

  1. uva 10054 The Necklace(欧拉回路)

    The Necklace  My little sister had a beautiful necklace made of colorful beads. Two successive beads ...

  2. iOS基础 - 史上最难游戏

    步骤一:隐藏状态栏 步骤二:屏幕适配 步骤三:设置窗口的根控制器为导航控制器,并且设置导航条和状态栏. 步骤四:搭建设置界面 步骤五:控制器连线 步骤六:搭建关卡控制器 加载pilst文件 创建关卡模 ...

  3. 推荐系列:最小与最大[DP+余式定理]

    最小与最大 [问题描述] 做过了乘积最大这道题,相信这道题也难不倒你. 已知一个数串,可以在适当的位置加入乘号(设加了k个,当然也可不加,即分成k+1个部分),设这k+1个部分的乘积(如果k=0,则乘 ...

  4. SHELL编程笔记(二)之shell流程控制

    Shell控制流程结构 本章内容有:   退出状态   While.for和until loops循环   If then else语句   脚本中动作   菜单 条件控制语句 If then els ...

  5. poj2236无线网络

    这一题的大意:在救灾当中需要用网络,这堆人就用笔记本建了一个无线网,但是来,互相通信都是有距离限制的,一台电脑只能和距离他为d的电脑通信,然后一台电脑也可以通过几台电脑搭成线这样通信.然后就是输入每台 ...

  6. iOS关于应用内分享

    iOS7.0增加了AirDrop功能,可知在未来,手机信息资源的直接分享会越来越重要.而我们在iPhone系统短信点击照片会看到右上角的分享按钮,点击可以弹出一系列的应用菜单,允许用户把这张图片分享到 ...

  7. 在Netbeans上配置Android开发环境

    在NetBeans下开发Android的所需要的基本条件:NetBeans(包含JDK)+Android SDK+NBAndroid(为Netbeans设计的Android 开发插件) 详情:http ...

  8. IOS学习之路(代码实现自动布局)

    1.将一个试图放置在其父视图的中央位置,使用限制条件. 2.创建两个限制条件:一个是将目标视图的 center.x 位置排列在其父视图的 center.x 位置,并且另外一个是将目标视图的 cente ...

  9. windows 服务器系统日志分析及安全

    一.利用Windows自带的防火墙日志检测入侵 下面是一条防火墙日志记录 2005-01-1300:35:04OPENTCP61.145.129.13364.233.189.104495980 200 ...

  10. 有一个array的数组,长度为10000,大小不一,用算法找出该数组中的最大值。

    不用算法的答案是:   var a=[1,2,3,5……];alert(Math.max.apply(null, a));//最大值alert(Math.min.apply(null, a));//最 ...