【Learning】辛普森积分
辛普森积分
这种积分法很暴力:只要求你实现出函数求值\(f(x)\)。
使用辛普森积分,我们可以求出函数一段区间\([l,r]\)的近似积分。记\(mid=\frac{l+r}2\),有:
\]
其中1,4,1称作科特斯系数。
如果
\]
那么我们认为函数在\([l,r]\)的近似积分已经足够精确,可以直接返回\(simpson(l,r)\)。
否则,我们需要递归计算\([l,mid]\)和\([mid,r]\)的积分,相加并返回。
伪代码如下:
double simpson(double l,double r){
double mid=(l+r)*0.5;
return (f(l)+4*f(mid)+f(r))*(r-l)/6;
}
double solve(double l,double r){
double mid=(l+r)*0.5,midl=(l+mid)*0.5,midr=(mid+r)*0.5;
if(fabs(simpson(l,r)-simpson(l,mid)+simpson(mid,r))<EPS)
return simpson(l,r);
return solve(l,mid)+solve(mid+1,r);
}
整体算法的耗时,一在于\(f(x)\)的求值,应实现得尽量够快;二在于\(EPS\)的设置,这决定了程序递归的深度,因为\(EPS\)是程序判断当前计算精度是否足够高的决策标准。\(EPS\)越小,精度越大,但耗时也相应越高。
总体的时间复杂度是非常玄学。辛普森积分在应用到某一些十分平滑的函数上时效率一般非常高,可是不排除有丧心病狂出题人专门卡哦。
【Learning】辛普森积分的更多相关文章
- uva 1356 Bridge ( 辛普森积分 )
uva 1356 Bridge ( 辛普森积分 ) 不要问我辛普森怎么来的,其实我也不知道... #include<stdio.h> #include<math.h> #inc ...
- BZOJ 2178: 圆的面积并 [辛普森积分 区间并]
2178: 圆的面积并 Time Limit: 20 Sec Memory Limit: 259 MBSubmit: 1740 Solved: 450[Submit][Status][Discus ...
- 【自适应辛普森积分】hdu1724 Ellipse
Ellipse Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Sub ...
- BZOJ2178 圆的面积并 计算几何 辛普森积分
原文链接https://www.cnblogs.com/zhouzhendong/p/BZOJ2178.html 题目传送门 - BZOJ2178 题意 给出 $n(n\leq 1000)$ 个圆,求 ...
- 【BZOJ2178】圆的面积并(辛普森积分)
[BZOJ2178]圆的面积并(辛普森积分) 题面 BZOJ 权限题 题解 把\(f(x)\)设为\(x\)和所有圆交的线段的并的和. 然后直接上自适应辛普森积分. 我精度死活一个点过不去,不要在意我 ...
- [BZOJ1502]月下柠檬树(自适应辛普森积分)
1502: [NOI2005]月下柠檬树 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1387 Solved: 739[Submit][Status] ...
- bzoj 2178 圆的面积并 —— 辛普森积分
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2178 先看到这篇博客:https://www.cnblogs.com/heisenberg- ...
- hdu 1724 Ellipse —— 自适应辛普森积分
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1724 函数都给出来了,可以用辛普森积分: 一开始 eps = 1e-8 TLE了,答案只要三位小数,那么 ...
- 洛谷 P4525 & P4526 [模板] 自适应辛普森积分
题目:https://www.luogu.org/problemnew/show/P4525 https://www.luogu.org/problemnew/show/P4526 学习辛普森积分:h ...
随机推荐
- NO--19 微信小程序之scroll-view选项卡与跳转(二)
本篇为大家介绍为何我们在最后做交互的时候,并没有使用上一篇讲的选项卡的效果. scroll-view与跳转.gif (如无法查看图片,还请翻看上一篇!) 大家注意看,在我点击跳转后,首先能看到的是 ...
- VM虚拟机系统时间同步网络时间并登录用户自动校正时间
原文出处: http://blog.51cto.com/wutou/1932317 VM虚拟机大家都用,我在用完后,经常使用"挂起客户机",但是这样一来,系统恢复启动很快,但是少了 ...
- .NetCore mvc Ajax Post数据到后端
在前端页面中,如果没有表单,想把复杂对象提交到后端,可使用以下方法 后端Controller中定义以下方法: [HttpPost] public int AddSolution([FromBody]S ...
- iOS 源代码混淆(初步混淆)
我们可以用classdump对原程序进行 dump,像上篇文章( Class-dump 安装和使用记录(导出应用的头文件)),我们可以看到所有.h 文件全暴露了(如下图) 点击HWAccount.h后 ...
- “Hello World!团队”Final发布—视频链接+文案+美工
视频发布:http://www.bilibili.com/video/av17022373/ 文案加美工:http://www.cnblogs.com/chjy/p/7990116.html SkyH ...
- Daily Scrum 11.15
今日完成任务: 1.在回答页面显示用户的相关信息 2.重写了搜索方法,并在自己的Demo网站测试成功 3.修改问题实体属性,加入悬赏积分:并在问题列表页面显示问题悬赏分数 遇到困难:一个是对于学长的搜 ...
- 2-Third Scrum Meeting-20151203
任务安排 闫昊: 今日完成:请假.(编译+计组,压力有点大) 明日任务:设计本地数据库. 唐彬: 今日完成:请假.(编译+计组,压力有点大) 明日任务:阅读ios客户端代码. 史烨轩: 今日完成:请假 ...
- Daily Scrumming* 2015.10.29(Day 10)
一.总体情况总结 二.今明两天任务表 Member Today’s Task Tomorrow’s Task 江昊 了解微信API,与社团服务平台创业公司嗨社团创始人沟通,了解其平台运营方案与商业模式 ...
- 20162328蔡文琛week08
学号 20162328 <程序设计与数据结构>第X周学习总结 教材学习内容总结 错误和异常代表不常见的或不正确处理的对象. 抛出异常时输出的消息提供了方法调用栈的轨迹. 每个catch子句 ...
- SQL语句联表查询
Natural join:字段名和数据类型相同字段进行等值连接: inner join:与join相同,把符合条件的元组选出来,创建视图时用的即是inner join: left join:左表全选出 ...