UVA 12905 Volume of Revolution (几何,微积分)
题意:分段用椎台面积近似计算体积,然后计算出近似值和真实值的相对误差
微积分加数学。
平头椎台的体积计算公式:
V = 1/3*h*(S1+S2*sqrt(S1*S2)
一个更快的计算多项式值的方法: for(int i = 15; i >= 0; i--) ans = ans*x+p[i],比直接pow快了一倍
#include<cstdio> #include<cmath> #include<cstring> const double pi = atan(1)*4;int poly[8],Q[16],n;inline double calR(double x) {double ans = poly[0];for(int i = 1; i <= n; i++ ){ans += poly[i]*pow(x,i);}return ans; }inline double calint(int x){double ans = 0;for(int i = 0,sz = n<<1; i <= sz; i++ ){ans += Q[i]*pow(x,i+1)/(i+1);}return ans; }inline double calV(int a,int b){memset(Q,0,sizeof(Q));for(int i = 0; i <= n; i++){for(int j = 0; j <= n; j++)Q[i+j] += poly[i]*poly[j];}return (calint(b)-calint(a))*pi; }inline double calS(double R,double theta,int slices){return R*sin(theta)/2*R*slices; }int main() {int T;scanf("%d",&T);int cas = 0;while(T--){memset(poly,0,sizeof(poly));scanf("%d",&n);for(int i = n; i >= 0;i--)scanf("%d",poly+i);int a,b;scanf("%d%d",&a,&b);int slices,stacks;scanf("%d%d",&slices,&stacks);double dx = (b-a)*1.0/stacks, dtheta = 2*pi/slices;double R1 = calR(a),S1 = calS(R1,dtheta,slices);double x = a+dx;double ape = 0;for(int i = 0; i < stacks; i++){double R2 = calR(x);double S2 = calS(R2,dtheta,slices);double dS = dx/3*(S1+S2+sqrt(S1*S2));ape += dS;x += dx;R1 = R2; S1 =S2;}double vol = calV(a,b);printf("Case %d: %.4lf\n",++cas,fabs(ape-vol)/vol*100);}return 0; }
转载于:https://www.cnblogs.com/jerryRey/p/4655635.html
UVA 12905 Volume of Revolution (几何,微积分)相关推荐
- UVA - 11437 Triangle Fun(简单几何)
题目链接:点击查看 题目大意:给出三个顶点A,B,C组成三角形,如题目中的图片所示,规定D,E,F分别为三条边的三等分点,现在要求三角形RPQ的面积 题目分析:利用向量先求出DEF三点,再利用线段相交 ...
- uva 1291 - Dance Dance Revolution ( dp )
本文出自 http://blog.csdn.net/shuangde800 题目:点击打开链接 题目大意 如上图,这是一个跳舞机,初始状态两个脚都在0, 状态表示为(0, 0), 然后跳舞机会给 ...
- canvas示例样式_使用js canvas和atari vcs trivia制作基本html游戏的快速示例
canvas示例样式 If you are anything like I was, you came into the programming world with some kind of fan ...
- 【Blender】乐高生成器——材质节点与几何节点制作的笔记分享
乐高生成器 最近一直在研究blender有关节点的工作逻辑,发现了一个用节点制作乐高生成器的教程挺好玩,练习做了一些模型案例,分享制作过程笔记和部分技巧点的总结 (注意该案例需要应用在blender ...
- 数学术语的英汉对照(权威,全面)
abbreviation 简写符号:简写 abscissa 横坐标 absolute complement 绝对补集 absolute error 绝对误差 absolute inequality 绝 ...
- 数学英语词汇 (1)
abbreviation 简写符号:简写 abscissa 横坐标 absolute complement 绝对补集 absolute error 绝对误差 absolute inequality 绝 ...
- 高等数学术语英汉对照
数学术语的英汉对照(权威,全面)English Chinese abbreviation 简写符号:简写 abscissa 横坐标 absolute complement 绝对补集 absolute ...
- 【今日CV 计算机视觉论文速览】Tue, 26 Feb 2019
今日CS.CV计算机视觉论文速览 Tue, 26 Feb 2019 Totally 40 papers Interesting: DDFlow从非标签数据中提炼出光流,利用教-学模型来实现无标签数据的 ...
- KaTeX 数学符号列表
文章目录 希腊字母 数学结构 Math mode accents 基本运算 分隔符 注释 函数 逻辑理论 集合和概率 几何 微积分 线性代数 群论 KaTeX 是一个快速,易于使用的JavaScrip ...
最新文章
- mybatis 一对多_Springboot整合Mybatis实现级联一对多CRUD操作
- Postgres-XL部署记录(一)
- MySQL复合条件连接查询
- 前端传数据到后台部分接收成功,部分接收失败
- Bootstrap 中: data-toggle 与 data-target 的作用
- EL与JSTL注意事项汇总
- 树状数组(搬运自维基百科)
- bootstrap 图标和文字对齐
- Atitit 高并发 性能指标 与压测工具 压测方法 目录 1. 性能的几个指标	1 1.1. 主要是响应时间(Response time)	1 1.2. 2.吞吐量(Throughput)	1 1
- webSSH如何安装?如何使用?解决Web端远程连接终端~~运维篇
- iframe中的方法
- 南华大学计算机有调剂名单吗,南华大学调剂公告
- ubuntu 下载jdk1.8
- 水下机器人之电机控制
- MySQL学生综合测评系统_大学生综合测评系统的设计和实现(MySQL)
- business,firm, company, corporation, enterprise等区别CentOS(Community Enterprise Operating System)想到
- html固定页脚布局及样式,html页脚固定在底部的方法
- ijkplayer eclipse 运行错误解决java.lanBinary XML file line #16: Error inflating class tv.danmaku.ijk.media
- 三星手机更新应用后就无服务器,三星手机正在完成系统更新怎么办
- 经营人脉1--转自通信人家园
热门文章
- hui后台框架html页面中的图标,HUI
- win10 1073linux密码,Linux Bash on Win10 忘记密码解决
- OMEN惠普HP暗夜精灵5:win10下安装Ubuntu16.04双系统(win10+linux)
- Pandownload 开发者被抓了,但是其背后,百度难道不需要反思吗?
- SoapUI导出响应文件
- 基于sinc的音频重采样(一):原理
- 形式语言与自动机 Part.1绪论, Part.2 语言与文法
- 电脑报价管理系统C语言,C语言笔记本电脑销售系统课设(附源码).doc
- 国潮风彩色手绘年俗年画春节插画素材
- 解决笔记本电脑开机速度缓慢的几种措施,亲测有效