P4525 【模板】自适应辛普森法1

P4525 【模板】自适应辛普森法1

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 const double eps = 1e-6;
 4 double a, b, c, d, l, r;
 5 inline double f(double x) {
 6     return (c*x+d)/(a*x+b);
 7 }
 8 inline double simpson(double l, double r) {
 9     double mid = (l+r)/2;
10     return (f(l)+4*f(mid)+f(r))*(r-l)/6;
11 }
12 inline double asr(double l, double r, double eps, double ans) {
13     double mid = (l+r)/2;
14     double ll = simpson(l,mid), rr = simpson(mid,r);
15     if (fabs(ll+rr-ans) <= 15*eps) return ll+rr+(ll+rr-ans)/15;
16     return asr(l,mid,eps/2,ll)+asr(mid,r,eps/2,rr);
17 }
18 inline double asr(double l, double r, double eps) {
19     return asr(l,r,eps,simpson(l,r));
20 }
21 int main() {
22     scanf("%lf%lf%lf%lf%lf%lf",&a,&b,&c,&d,&l,&r);
23     printf("%.6f",asr(l,r,eps));
24     return 0;
25 }

原文地址:https://www.cnblogs.com/wstong/p/11779083.html

时间: 2024-08-28 10:00:07

P4525 【模板】自适应辛普森法1的相关文章

自适应辛普森法

Simpson公式 设\(f(x)\)为原函数,$g(x)=Ax2+Bx+C $ 为拟合后的函数,则有: \[ \int_{a}^{b}f(x)dx \approx \int_{a}^{b}Ax^2+Bx+C = \frac{A}{3}(b^3-a^3)+\frac{B}{2}(b^2-a^2)+C(a-b) =\frac{(b-a)}{6}(f(a)+f(b)+4f(\frac{a+b}{2})) \] 然后就得到了Simpson公式 \[ \int_{a}^{b}f(x)dx \approx

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

UVA 1356 - Bridge 题目链接 题意:一个桥长为B,桥上建电线杆,杆高为H,两杆之间距离不超过D,电线杆总长为L,杆子都是等距的,现在建最少的电线杆,问这时候电线离地面高度是多少 思路:二分高度,求出电线长,判断长度够不够即可,那么问题就变成怎么求弧长 求弧长公式为∫w/201+(f′(x)2)??????????√, 建立坐标系使得f(x)=ax2,带入点(w/2, h)求出a,得到方程 那么问题就变成怎么求这个积分了 利用辛普森自适应法,去求即可 代码: #include <c

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

Ellipse Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2502    Accepted Submission(s): 1126 Problem Description Math is important!! Many students failed in 2+2's mathematical test, so let's AC

自适应辛普森了解一下

A 了这道超短的紫题,来发表一下自己的一些想法... 简单介绍辛普森这玩意儿 不如先学学泰勒展开? 首先泰勒展开大家都听说过吧?[雾 没听说过?安利某知乎回答:苍老师教你如何更好地记忆泰勒展开 然后你就知道了,泰勒展开其实是对于某个函数在一个点不断去高阶求导,然后用求导得到的信息构造一个多项式,使得这个多项式在一定范围内几乎和原函数拟合(可以理解为接近重合的意思吧...) 类比到辛普森? 那么其实自适应辛普森也是类似的道理,只不过它是用了分治的方法去构造这个 假 拟合 多项式(其实就是二次函数,

[BZOJ1502]月下柠檬树(自适应辛普森积分)

1502: [NOI2005]月下柠檬树 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 1387  Solved: 739[Submit][Status][Discuss] Description 李哲非常非常喜欢柠檬树,特别是在静静的夜晚,当天空中有一弯明月温柔地照亮地面上的景物时,他必会悠闲地 坐在他亲手植下的那棵柠檬树旁,独自思索着人生的哲理.李哲是一个喜爱思考的孩子,当他看到在月光的照射下 柠檬树投在地面上的影子是如此的清晰,马上想到了一个问

Zblog主题模板自适应手机响应式ZblogPHP简洁博客主题

Z-blog PHP版本简洁主题模板 特点简洁舒适 手机移动端自适应,完美有利于优化 代码结构利于编辑 对于不懂代码的,也非常适合简答后台简答 PC端侧边栏下拉跟随,无论下面有多长,导航侧边栏都只在左边:方便你选择栏目 SEO方面代码利于优化. 作者可免费指导安装 对于喜欢简洁的,而又不失丰富的,这是一个不错的选择 对于国产博客程序,zblog无疑是一个佼佼者.wordpress固然强大,可是沉重,买个几百的虚拟主机,差点就转不动.最后放弃选择zblog.一款好的博客主题很重要,早期作者还只是个

BZOJ 1502 NOI 2005 月下柠檬树 计算几何 自适应辛普森积分

题目大意:有一个由圆锥和圆台组成的柠檬树,在月亮发出的平行光下,可以形成一个影子,求这个影子的面积. 思路:理解投影的性质:只要是平行光线,投影在水平面上,所得的图形都与原图形全等. 知道了这一点我们就可以画画图,分析就知道,其实柠檬树的影子,就是一些园和等腰梯形的面积的并.(如下图,样例) 运用计算几何的知识就可以得到圆的方程和圆的公切线的方程,然后得到一个连续的函数.最后这个题就成为一直函数的解析式,求这个函数与X轴之间的面积. 套用辛普森积分:Simpson(l,r) = (F(l) +

Acdream 1234 Two Cylinders 自适应辛普森

题目链接:点击打开链接 给定r1,r2 表示2个圆柱体的半径 这两个圆柱体高是正无穷,互相垂直,问相交的最大面积 #include <stdio.h> #include <string.h> #include <iostream> #include <cmath> #define M 410 #define inf 0x3f3f3f3f const double eps = 1e-8; template <class T> inline bool

模板——扩展欧几里得算法

//gcd LL gcd(LL a, LL b) { return b == 0 ? a : gcd(b, a%b); } //exgcd LL exgcd(LL a, LL b, LL &d, LL &x, LL &y) { if(!b) {d = a; x = 1; y = 0;} else {gcd(b, a%b, d, y, x); y -= x*(a/b);} }