HDU 1724 自适应Simpson积分 解题报告
来源:互联网 发布:鱼子酱眼精华 知乎 编辑:程序博客网 时间:2024/06/04 19:58
Ellipse
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 be vertical through the X-axis. The problem is calculating the blue intersection area. But calculating the intersection area is dull, so I have turn to you, a talent of programmer. Your task is tell me the result of calculations.(defined PI=3.14159265 , The area of an ellipse A=PI*a*b )
Input
Input may contain multiple test cases. The first line is a positive integer N, denoting the number of test cases below. One case One line. The line will consist of a pair of integers a and b, denoting the ellipse equation , A pair of integers l and r, mean the L is (l, 0) and R is (r, 0). (-a <= l <= r <= a).
Output
For each case, output one line containing a float, the area of the intersection, accurate to three decimals after the decimal point.
Sample Input
2
2 1 -2 2
2 1 0 2
Sample Output
6.283
3.142
【解题报告】
板子题
代码如下:
#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>using namespace std;#define eps 1e-8int t; double a,b,l,r;double f(double x) { return b*sqrt(1.0-(x*x)/(a*a)); } double calc(double len,double fL,double fM,double fR) { return (fL+4*fM+fR)*len/6;}double Simpson(double L,double M,double R,double fL,double fM,double fR,double sqr) { double M1=(L+M)/2,M2=(M+R)/2; double fM1=f(M1),fM2=f(M2); double g1=calc(M-L,fL,fM1,fM),g2=calc(R-M,fM,fM2,fR); if(fabs(sqr-g1-g2)<=eps) return g1+g2; return Simpson(L,M1,M,fL,fM1,fM,g1)+Simpson(M,M2,R,fM,fM2,fR,g2);}int main() { for(scanf("%d",&t);t;--t) { scanf("%lf%lf%lf%lf",&a,&b,&l,&r); double m=(l+r)/2; printf("%.3lf\n",2*Simpson(l,m,r,f(l),f(m),f(r),calc(r-l,f(l),f(m),f(r)))); } return 0; }
- HDU 1724 自适应Simpson积分 解题报告
- LA 3485 自适应Simpson积分 解题报告
- BZOJ 1502 计算几何+自适应Simpson积分 解题报告
- hdu 1724 自适应 simpson 算法 求积分
- HDU 1724 Ellipse 【自适应Simpson积分】
- hdu 1724 Ellipse(自适应Simpson积分) (模板)
- 【自适应Simpson积分】hdu 1724 Ellipse
- HDU 1724 (simpson积分)
- HDU-#1724 Ellipse(自适应Simpson法+数值积分)
- SPOJ 8073 CIRU 自适应Simpson积分求圆的面积并 解题报告
- hdu 1724 Ellipse simpson积分
- hdu 1724(Simpson积分)
- hdoj-1724 Ellipse(自适应Simpson积分)
- HDOJ 1724 Ellipse(自适应simpson积分)
- 自适应simpson积分
- 自适应Simpson积分
- 自适应simpson 积分
- hdu 1724 Ellipse(simpson求积分)
- 简单聊聊 instanceof ,typeof
- TrustZone与TEE的发展历史、技术原理以及产业格局
- OpenGL ES2.0教程:编写自己的shader(2)
- Maven项目转换为javaWEB项目
- 选择排序(php代码实现)
- HDU 1724 自适应Simpson积分 解题报告
- 网络编程
- OSI的七层模型详解
- 受不了现在的自己
- BPS计划功能出口的数据处理
- linux系统下性能调试工具。
- 【Noip2013】生活大爆炸版石头剪刀布
- ZOJ 3209 Treasure Map DLX精确覆盖
- python小程序-简易计算器