自适应辛普森积分

老年退役选手很早以前就知道有这种科技了。

不过鉴于蒟蒻的数学实在太差,学的一点点微积分内容也忘得差不多了,所以一直没有学。

直到凉凉以后再打开luogu,突发奇想准备做几道NOI题,然后点开了月下柠檬树……用我渣渣的空间想象能力推了好久才推出了投影的形状,可惜还是不知道面积该怎么算。

于是只好看题解(又掉rp了…),看到辛普森积分……那就学一下吧orz。

于是就很颓废地学了一下,写了个板子题就跑了。

感觉它的一大作用就是求面积并啊。另一大作用当然是算奇奇怪怪的积分式子了。

如果我们要对一个函数f(x)求积分,直接手推显然适用范围太过狭窄,考虑用二次函数去拟合它。

也就是说,把它近似看成一个二次函数,然后用计算二次函数积分的方法计算它。

但是,怎么确定用于拟合它的二次函数的系数?而且这样误差也太大了吧。

引入辛普森公式:

f(x)=Ax^2+Bx+C\\ \\ \int_L^R\ Ax^2+Bx+C \\ =\frac{A}{3}(R^3-L^3)+\frac{B}{2}(R^2-L^2)+C(R-L)\\ =(f(L)+f(R)+4*f((L+R)/2))*(R-L)/6

也就是说,如果f(x)是一个二次函数,就有\int_L^R f(x)=(f(L)+f(R)+4*f(mid))*(R-L)/6

这样就避免了选择二次函数,直接按辛普森公式计算即可。

但是误差的问题还没有解决。

再回到原本的问题,我们正在要求拟合[L,R]区间的图像。

既然[L,R]区间和二次函数相差太大了,为什么不把[L,R]看成若干个小到足以近似二次函数的区间加起来呢?

分割区间[L,R]为[L,mid]和[mid,R],递归计算即可。

选定一个eps,如果(左区间按辛普森公式计算的结果+右区间的结

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值