UVA 1356 - Bridge(自适应辛普森)】的更多相关文章

UVA 1356 - Bridge option=com_onlinejudge&Itemid=8&page=show_problem&category=493&problem=4102&mosmsg=Submission+received+with+ID+13932460" target="_blank" style="">题目链接 题意:一个桥长为B,桥上建电线杆.杆高为H,两杆之间距离不超过D.电线杆总长…
uva 1356 Bridge ( 辛普森积分 ) 不要问我辛普森怎么来的,其实我也不知道... #include<stdio.h> #include<math.h> #include<string.h> #include<algorithm> using namespace std ; double d , h , m , b , l , w ; double f ( double x ) { double a = 4.0 * m / w / w ; re…
1261: 地狱飞龙 时间限制: 1 秒  内存限制: 64 MB 提交: 300  解决: 68 题目描述 最近clover迷上了皇室战争,他抽到了一种地狱飞龙,很开心.假设地域飞龙会对距离为d的敌人每秒造成k/d2伤害.假设地域飞龙位于坐标轴原点,以每秒v1的速度向y轴正方向移动,敌人在(x,0)的位置,以每秒v2的速度向x轴负方向移动.问,敌人至少有多少血量永远才不会被地狱飞龙喷死.(伤害是连续造成的,不是一秒一秒间断的) 输入 第一行为数据组数T(1<=T<=1000) 每组数据一行,…
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…
参考:https://phqghume.github.io/2018/05/19/%E8%87%AA%E9%80%82%E5%BA%94%E8%BE%9B%E6%99%AE%E6%A3%AE%E6%B3%95/ 以及洛谷不多的题解. 辛普森推导过程就看参考吧,当然你要想看懂推导需要: 1.会高中导数那点东西,至少知道原函数怎么求. 2.粗略了解定积分. 3.知道微积分第一.第二基本定理(从知乎上找的:https://www.zhihu.com/question/21439225). 然后推导就很…
http://acm.hdu.edu.cn/showproblem.php?pid=1071 解一个给定三个点的坐标二次函数某区域的积分值. 设出方程之后高斯消元得到二次函数.然后再消元得到直线. 两次积分然后相减就可以了. 把自适应辛普森改成了传入函数指针的形式,有点多此一举. 可以这样做的原因,是因为这道题保证要求的区域都是在第一象限,否则不能直接定积分. 语言:G++ #include<bits/stdc++.h> using namespace std; typedef long lo…
题目链接 题意 给出一个椭圆,问一个[l, r] 区间(蓝色区域)的面积是多少. 思路 自适应辛普森积分 具体一些分析如上. 很方便,套上公式就可以用了. 注意 eps 的取值影响了跑的时间,因为决定了递归的深度. #include <bits/stdc++.h> using namespace std; typedef long long LL; typedef pair<int, int> pii; const int INF = 0x3f3f3f3f; const int N…
题目链接:HDU 1724 Problem Description Math is important!! Many students failed in 2+2's mathematical test, so let's AC this problem to mourn for our lost youth.. Look this sample picture: A ellipses in the plane and center in point O. the L,R lines will…
OJ 题解传送门 //Achen #include<algorithm> #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<cmath> int T; double a,b,l,r; using namespace std; double f(double x) { return b*sqrt(1.0-(x*x)/(a*a)…
P4526 [模板]自适应辛普森法2 洛谷传送门 题目描述 计算积分 保留至小数点后5位.若积分发散,请输出"orz". 输入格式 一行,包含一个实数,为a的值 输出格式 一行,积分值或orz 输入输出样例 输入 #1复制 2.33 输出 #1复制 1.51068 说明/提示 a<=50 请注意时空限制. Solution 这和辛普森公式又啥关系?上限可是正无穷! 带着好奇心,我打开了几何画板. 几何画板 这……这么快就收敛了?!?!?! 看看a=50? 随便把B放在3边上.结果…
洛谷P4525 [模板]自适应辛普森法1 与P4526[模板]自适应辛普森法2 P4525洛谷传送门 P4525题目描述 计算积分 结果保留至小数点后6位. 数据保证计算过程中分母不为0且积分能够收敛. 输入格式 一行,包含6个实数a,b,c,d,L,R 输出格式 一行,积分值,保留至小数点后6位. 输入输出样例 输入 #1复制 1 2 3 4 5 6 输出 #1复制 2.732937 我的理解 求面积 说明/提示 a,b,c,d∈[-10,10] -100≤L<R≤100 且 R-L≥1 So…
P4526 [模板]自适应辛普森法2 #include <bits/stdc++.h> using namespace std; ; double a; inline double f(double x) { return pow(x,a/x-x); } inline double simpson(double l, double r) { ; *f(mid)+f(r))*(r-l)/; } inline double asr(double l, double r, double eps, d…
P4525 [模板]自适应辛普森法1 #include <bits/stdc++.h> using namespace std; ; double a, b, c, d, l, r; inline double f(double x) { return (c*x+d)/(a*x+b); } inline double simpson(double l, double r) { ; *f(mid)+f(r))*(r-l)/; } inline double asr(double l, doubl…
LINK:自适应辛普森法1 观察题目 这个东西 凭借我们的数学知识应该是化简不了的. 可以直接认为是一个函数 求定积分直接使用辛普森就行辣. 一种写法: double a,b,c,d; double f(double x){ return (c*x+d)/(a*x+b); } //区间[a,b]上的辛普森值 double simpson(double a,double b){ double c=a+(b-a)/2; return (f(a)+4*f(c)+f(b))*(b-a)/6; } //区…
题目描述 计算积分 结果保留至小数点后6位. 数据保证计算过程中分母不为0且积分能够收敛. 输入输出格式 输入格式: 一行,包含6个实数a,b,c,d,L,R 输出格式: 一行,积分值,保留至小数点后6位. 输入输出样例 输入样例#1: 复制 1 2 3 4 5 6 输出样例#1: 复制 2.732937 说明 a,b,c,d∈[-10,10] -100≤L<R≤100 且 R-L≥1 辛普森积分是用$y = Ax^2 +Bx +c$去拟合给定的函数 $$\int_a^bf(x)dx\appro…
1502: [NOI2005]月下柠檬树 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 1387  Solved: 739[Submit][Status][Discuss] Description 李哲非常非常喜欢柠檬树,特别是在静静的夜晚,当天空中有一弯明月温柔地照亮地面上的景物时,他必会悠闲地 坐在他亲手植下的那棵柠檬树旁,独自思索着人生的哲理.李哲是一个喜爱思考的孩子,当他看到在月光的照射下 柠檬树投在地面上的影子是如此的清晰,马上想到了一个问…
题目大意 你的任务是修建一座大桥.桥上等距地摆放着若干个塔,塔高为H,宽度忽略不计.相邻两座塔之间的距离不能超过D.塔之间的绳索形成全等的对称抛物线.桥长度为B,绳索总长为L,如下图所示求建最少的塔时绳索的最下端离地的高度y. [输入格式] 输入第一行为测试数据组数T.每组数据包含4个整数D,H,B,L(B<=L). [输出格式] 对于每组数据,输出绳索底部离地高度,保留两位小数. 间隔数为n=[(B+D-1)/D],所以间隔和每个间隔的绳子长分别为w=B/n,L=L/n 根据微积分,一个二次函…
题目链接 Simpson积分公式:\[\int_a^bf(x)dx\approx\frac{b-a}{6}\left[f(a)+f(b)+4f(\frac{a+b}{2})\right]\] 推导过程大概就是,令\(f(x)=Ax^2+Bx+C\),代进去求一下积分就好了? 自适应是指根据区间大小控制精度.满足精度要求时直接返回. 那个,有人知道asr是指什么吗..(什么的缩写?) //0ms 1.7MB #include <cmath> #include <cstdio> #in…
题目描述 计算积分 保留至小数点后5位.若积分发散,请输出"orz". 输入输出格式 输入格式: 一行,包含一个实数,为a的值 输出格式: 一行,积分值或orz 输入输出样例 输入样例#1: 复制 2.33 输出样例#1: 复制 1.51068 说明 a<=50 请注意时空限制. 观察到函数具有极强的收敛性 然后估算一下上界,直接上辛普森积分 // luogu-judger-enable-o2 #include<cstdio> #include<cmath>…
题面 传送门 题解 据说这函数在\(x>15\)的时候趋近于\(0\) 据说当且仅当\(a<0\)时积分发散 所以直接套自适应\(simpson\)吧-- //minamoto #include<bits/stdc++.h> #define R register #define fp(i,a,b) for(R int i=(a),I=(b)+1;i<I;++i) #define fd(i,a,b) for(R int i=(a),I=(b)-1;i>I;--i) #de…
题面 传送门 题解 我似乎连积分都不太熟练→_→ 总之就是对于一个原函数,我们找一个二次函数来近似它,那么有 \[ \begin{aligned} \int_a^bf(x)dx &\approx\int_a^bAx^2+Bx+C\\ &=\frac{A}{3}(b^3-a^3)+\frac{B}{2}(b^2-a^2)+C(a-b)\\ &=\frac{(b-a)}{6}(2A(b^2+ab+a^2)+3B(b+a)+6C)\\ &=\frac{(b-a)}{6}(2Ab^…
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1724 函数都给出来了,可以用辛普森积分: 一开始 eps = 1e-8 TLE了,答案只要三位小数,那么 eps = 1e-5 即可: 这次用了比较标准的写法^_^ 代码如下: #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> using namespace std; typ…
题目:https://www.luogu.org/problemnew/show/P4525 https://www.luogu.org/problemnew/show/P4526 学习辛普森积分:https://blog.csdn.net/VictoryCzt/article/details/80660113 代码如下: #include<cstdio> #include<cstring> #include<algorithm> #include<cmath&g…
//很裸的积分题,直接上模板 #include<stdio.h> #include<math.h> int aa, bb; //函数 double F(double x){ -x*x/aa/aa)*bb*bb); } //三点simpson法 double simpson(double a,double b){ ; *F(c)+F(b))*(b-a)/; } //自适应simpson公式(递归过程).一直整个区间[a,b]上的三点simpson值A double asr(doubl…
LINK:月下柠檬树 之前感觉这道题很鬼畜 实际上 也就想到辛普森积分后就很好做了. 辛普森积分法的式子不再赘述 网上多的是.值得一提的是 这道题利用辛普森积分法的话就是一个解析几何的问题 而并非计算几何. 求面积的并也没有什么好的方法 不能使用半平面交 因为不是一个凸多边形. 决定使用辛普森之后 容易想到 要求出 函数f(x)的式子. 考虑 当x处于一个圆中时 容易求得f(x) 利用勾股定理即可 考虑在梯形内时 容易发现在两圆的公切线上. 求出公切线的解析式就完事了.这个问题 容易使用相似三角…
题目大意 在一个晚上有N个人过河,他们有一个手电筒,需要有手电筒才能过河,每次最多两个人同时过河,每次过河时间等于速度最慢的那个人的过河时间,让所有人全部过河,花费的时间最少是多少? 分析 如果只有一个人过河,那么过河的总时间就是这个人过河的时间.如果是两个人过河,那么总时间为过河速度较慢的那个人的过河时间.如果是三个人过河,总花费时间为a+b+c.当人数大于等于4时,我们每次都让两个速度最慢的人过河,假设A和B表示速度最快和第二快的人,速度分别为a,b,C和D表示速度最慢和第二慢的人,速度分别…
题目:https://www.luogu.org/problemnew/show/P4525 https://www.luogu.org/problemnew/show/P4526 参考:https://blog.csdn.net/VictoryCzt/article/details/80660113 #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #define…
题意: 过河模型:有n个人要渡河,每个人渡河所耗时可能不同,只有1只船且只能2人/船,船速取决于速度慢的人.问最少耗时多少才能都渡完河? 思路: n<2的情况比较简单. 考虑n>2的情况,第一次肯定是两个耗时少的先过去.接下来有两种渡河方式,有可能是{a回,另外2人去,b回,a和b去},也可能是{a回,a和另一人去}.也就是说a和b的协作可以送走其他2个人,或者是a自己当船夫,送走另外一个人.这样子就有两种决策啦. 先将他们排个序(升序),然后a和b先过去.如果还有人没有过河,若left>…
桥的间隔数为n = ceil(B/D),每段绳子的长度为L / n,相邻两塔之间的距离为 B / n 主要问题还是在于已知抛物线的开口宽度w 和 抛物线的高度h 求抛物线的长度 弧长积分公式为: 设抛物线方程为f(x) = ax2,则这段抛物线弧长为 查积分表或者自己分部积分算一下:  二分抛物线高度x,使得每段抛物线长度为L / n,所求答案为H - x #include <cstdio> #include <cmath> inline double F(double a, do…
自适应辛普森公式模板. #include<algorithm> #include<iostream> #include<cstring> #include<cstdio> #include<vector> #include<queue> #include<cmath> #include<map> #include<set> #define LL long long #define CLR(a, b)…