首页 > 其他分享 >【洛谷 P4525】 【模板】自适应辛普森法 1

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

时间:2022-11-18 19:56:37浏览次数:39  
标签:洛谷 double mid 辛普森 template 积分 return P4525 define

自适应辛普森法,用于求定积分。
原理是不断二分区间直到区间的积分和二次函数的积分拟合程度足够高,然后用二次函数的积分值来代替原积分值。

#include <bits/stdc++.h>
#define lowbit(x) (x&(-x))
#define pb push_back
#define rep(i, m, n) for(int i = (m); i <= (n); ++i)
#define dop(i, m, n) for(int i = (m); i >= (n); --i)
#define all(x) x.begin(), x.end()
#define Open(s) freopen(s,"r",stdin);
#define Write(s) freopen(s,"w",stdout);
using namespace std;
typedef long long ll;
template <class T> void chkmin(T &a, T b){ if(a > b) a = b; }
template <class T> void chkmax(T &a, T b){ if(a < b) a = b; }
template <class T> T aabs(T a){ return a > 0 ? a : -a; }
const int N = 200010;
double a, b, c, d, L, R;
double f(double x){
	return (c*x + d) / (a*x + b);
}
double simpson(double l, double r){
	double mid = (l + r) / 2;
	return (r - l) * (f(l) + 4 * f(mid) + f(r)) / 6;
}
double asr(double l, double r, double eps, double ans){
	double mid = (l + r) / 2;
	double fl = simpson(l, mid), fr = simpson(mid, r);
	if(fabs(fl + fr - ans) <= 15 * eps) return fl + fr + (fl + fr - ans) / 15;
	return asr(l, mid, eps/2, fl) + asr(mid, r, eps/2, fr);
}
int main(){
	cin >> a >> b >> c >> d >> L >> R;
	cout << setprecision(6) << fixed << asr(L, R, 1e-6, simpson(L, R)) << endl;
	return 0;
}

标签:洛谷,double,mid,辛普森,template,积分,return,P4525,define
From: https://www.cnblogs.com/Qihoo360/p/16904737.html

相关文章

  • 洛谷P1706 全排列问题
    全排列问题题目描述P1706全排列问题-洛谷按照字典序输出自然数\(1\)到\(n\)所有不重复的排列,即\(n\)的全排列,要求所产生的任一数字序列中不允许出现重复的数字......
  • 【洛谷P3810】 【模板】三维偏序(陌上花开)
    CDQ是一中思想,用来求点对数列。定义\(solve(l,r)\)用来求\([l,r]\)区间的数对,那么先递归处理\(solve(l,mid)\),然后考虑前半段对后半段的影响,然后再递归处理后半段\(sol......
  • 洛谷-3758
    洛谷-3758思路一定要看数据范围!Code#include<bits/stdc++.h>usingnamespacestd;#define_u_u_ios::sync_with_stdio(false),cin.tie(nullptr)#definecfint_......
  • 洛谷刷题_P1255 数楼梯
    题目P1255数楼梯题目链接https://www.luogu.com.cn/problem/P1255知识点斐波那契数列斐波那契数列指的是这样一个数列:1、1、2、3、5、8、13、21、34、……,在数学上,......
  • 邮递员送信(洛谷1629)
    ​​传送门​​​第一反应是Floyd,但是看看数据规模,会tle那就考虑n次单源最短路,但是即使是SPFA,也会t那肯定就另有玄机。我们每次出去送货后都要直接返回邮局,所以我们需要......
  • 洛谷-1714
    洛谷-1714思路求连续子段,显然需要前缀和处理一下,问题就变成了求出\(i,j\)使得\[\max\{s[i]-s[j]\},i-j>m\]于是利用双端队列从每个区间的max-min中找答案。但......
  • 【LGR-125】洛谷 11 月月赛 I & JROI-7 & JRKSJ-5
    P8846『JROI-7』PMK配匹串符字简要题意给出一正整数\(n(1\leqn\leq10^5)\),求出一个由小写英文字母组成的字符串\(S\),使得\(|S|=n\)且\(\sum_{i=1}^{n}{\opera......
  • 洛谷题单【入门2】分支结构-P1085 [NOIP2004 普及组] 不高兴的津津
    题目描述津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。但是津津......
  • 洛谷题单【入门1】顺序结构-P1001 A+B Problem
    题目描述输入两个整数 a,ba,b,输出它们的和(|a|,|b|\le{10}^9∣a∣,∣b∣≤109)。 输入格式两个以空格分开的整数。输出格式一个整数。输入输出样例输......
  • 洛谷题单【入门1】顺序结构-B2005 字符三角形
    题目描述给定一个字符,用它构造一个底边长 55 个字符,高 33 个字符的等腰字符三角形。输入格式输入只有一行,包含一个字符。输出格式该字符构成的等腰三角形,底......