UVA 1487 - Volume(积分)

UVA 1487 - Volume

题目链接

题意:给定r,h,求图中该图形体积

思路:积分题,用总面积减去重合体积,一个卦限重合体积为∫∫Dr2?h2??????√,求得r2x?13x3,然后这个面积乘8就是总重合体积,但是注意题目中可能存在2r>h,对于这种情况实际上中间重合部分等于多一个立方体,求出该立方体高就能求出体积了,画图很容易看出高为r2?h22,算出重合体积再用总体积减去即可

代码:

#include <cstdio>
#include <cstring>
#include <cmath>

const double pi = acos(-1.0);
double r, h;

double f(double x) {
    return r * r * x - 1.0 / 3 * x * x * x;
}

double solve() {
    double tot = r * r * pi * h * 2;
    if (r * 2 <= h) return tot - (f(r) - f(0)) * 8;
    h /= 2;
    double H = sqrt(r * r - h * h);
    return tot - (h * h * H + f(r) - f(H)) * 8;
}

int main() {
    while (~scanf("%lf%lf", &r, &h)) {
	printf("%.4lf\n", solve());
    }
    return 0;
}

UVA 1487 - Volume(积分)

时间: 2025-01-06 01:41:19

UVA 1487 - Volume(积分)的相关文章

uva 1356 - Bridge(积分+二分)

题目链接:uva 1356 - Bridge 题目大意:在一座长度为B的桥上建若干个塔,塔的间距不能超过D,塔的高度为H,塔之间的绳索形成全等的抛物线.绳索的总长度为L.问在建最少塔的情况下,绳索的最下段离地面的高度. 解题思路:贪心的思想求出最少情况下建立的塔数. 二分高度,然后用积分求出两塔之间绳索的长度. C++ 积分 #include <cstdio> #include <cstring> #include <cmath> #include <algori

Uva 11346 Probability 积分

化成反比函数求积分 G - Probability Time Limit: 1 sec Memory Limit: 16MB Consider rectangular coordinate system and point L(X,Y) which is randomly chosen among all points in the area A which is defined in the following manner: A = {(x,y) | x is from interval [

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],比我写的这个快了一倍 #include<cstdio> #include<cmath> #include<cstring> const double pi =

UVA 10693 10693 - Traffic Volume(数论)

题目链接:10693 - Traffic Volume 根据物理知识, 车经过的时间等于,距离/速度,所以可以列出公式t = (l + d)/v,v/2f + d/v,只有当v / 2f = d/v时,时间最小,v = sqrt(2df),之后时间也能算了. #include <stdio.h> #include <string.h> #include <math.h> double l, f; int main() { while (~scanf("%lf%

UVA 11346 Probability (几何概型, 积分)

题目链接:option=com_onlinejudge&Itemid=8&page=show_problem&problem=2321">https://uva.onlinejudge.org/index.php? option=com_onlinejudge&Itemid=8&page=show_problem&problem=2321 题目大意:在A是一个点集 A = {(x, y) | x ∈[-a, a],y∈[-b, b]},求取出

UVA 11346 - Probability 数学积分

Consider rectangular coordinate system and point L(X, Y ) which is randomly chosen among all pointsin the area A which is de?ned in the following manner: A = {(x, y)|x ∈ [−a; a];y ∈ [−b; b]}. What isthe probability P that the area of a rectangle that

UVa 11346 Probability (转化+积分+概率)

题意:给定a,b,s,在[-a, a]*[-b, b]区域内任取一点p,求以原点(0,0)和p为对角线的长方形面积大于s的概率. 析:应该明白,这个和高中数学的东西差不多,基本就是一个求概率的题,只不过更简单了,不用你算了,你给出表达式, 让计算机帮你算即可. 由对称性知道,只要求[a, b]区域内的概率就OK了,也就是xy > s,由高中的知识也知道应该先求xy = s的曲线, 然后求在曲线上面的面积,这就用到了积分,由于上面的不好求,我们先求下面的,再用总面积减掉即可(自己画个图看看), 挺

UVa 10693 - Traffic Volume

題目:車速為v,車之間的距離最少為v^2/(2f)(防止裝車),車長為L,問1小時最多能走過幾輛車. 分析:數學.物理. ? ? ? ? ? ? 根據題意能够列出方程:nL + (n-1)d = nL + (n-1)v^2/(2f) = 3600v,計算n.化簡得: ? ? ? ? ? ? n = 7200f/(2Lf/v + v).這是一個對號函數.當2Lf = v^2 是有最大值. ? ? ? ? ? ? 因此v = sqrt(2Lf),n = 1800sqrt(2f/L). 說明:╮(╯▽

UVA 10817 Headmaster&#39;s Headache 状压DP

记录两个状态S1,S2分别记录哪些课程被1个人教过或2个人教过,然后记忆化搜索 UVA - 10817 Headmaster's Headache Time Limit: 3000MS   Memory Limit: Unknown   64bit IO Format: %lld & %llu Submit Status Description Problem D: Headmaster's Headache Time limit: 2 seconds The headmaster of Spr