ZOJ 2369 | SGU 217 | Acdream 1234 自适应辛普森积分
来源:互联网 发布:超图软件股吧 编辑:程序博客网 时间:2024/05/16 07:44
题意:给你两个无限长的圆柱,其轴线相交且垂直,问你相交的体积是多大。
思路:shi哥说将一个轴固定在x上另一个在y上,那么从z轴上看其公共部分的切面,为一个矩形,长和宽分别为2*sqrt(r*r-z*z),2*sqrt(R*R-z*z),然后套神公式就好了。。。
#include <cstdio>#include <cstring>#include <cmath>#include <cstdlib>#include <algorithm>#include <cctype>using namespace std;const double eps = 1e-8;double D, H, B, L;double r, R;double F(double x){ return 4 * sqrt((r * r - x * x) * (R * R - x * x));}double simpson(double a, double b){ double c = a + (b - a) / 2; return (F(a) + 4 * F(c) + F(b)) * (b - a) / 6;}double asr(double a, double b, double eps, double A){ double c = a + (b - a) / 2; double L = simpson(a, c), R = simpson(c, b); if(fabs(L + R - A) <= eps) return L + R + (L + R - A) / 15; return asr(a, c, eps / 2, L) + asr(c, b, eps / 2, R);}double asr(double a, double b, double eps){ return asr(a, b, eps, simpson(a, b));}void solve(){ if(r > R) swap(r, R); printf("%lf\n", asr(0, r, 1e-8) * 2);}int main(){ while(~scanf("%lf%lf", &r, &R)) solve(); return 0;}
0 0
- ZOJ 2369 | SGU 217 | Acdream 1234 自适应辛普森积分
- SGU 217 Acdream 1234 Two Cylinders 自适应辛普森
- Acdream 1234 Two Cylinders(自适应辛普森积分法)
- acdream 1234-Two Cylinders(辛普森积分)
- 自适应辛普森积分
- 自适应辛普森积分算法
- 自适应辛普森积分
- 自适应辛普森公式求积分
- Hdu 4498 自适应辛普森积分
- 辛普森积分(自适应辛普森公式求积分)
- Hdu 1724 Ellipse (自适应辛普森积分法)
- HDU 1724 Ellipse 自适应辛普森积分
- BZOJ 1502 月下柠檬树 自适应辛普森积分
- 自适应辛普森公式求积分模板
- 自适应辛普森(近似求积分)
- 自适应辛普森(近似求积分模板)
- HDU 1724 Ellipse (自适应辛普森积分)
- 【数值积分】 ZOJ 2369 Two Cylinders
- ShareSDK v3简化版 升级问题
- UVA539dfs搜一条无重复边的最长道路
- 工厂模式
- 9.24
- CGI,fastcgi和php-fpm
- ZOJ 2369 | SGU 217 | Acdream 1234 自适应辛普森积分
- MATLAB:镜像图片
- android中dp(dip) px sp
- lintcode-线段树查询II-247
- 转载老师的一篇文章——java自学之路
- android基础知识
- 专利申请--权利要求书vs说明书
- 分支结构 -- 2015/09/23
- 纯虚函数