Yuan
|
首页
|
发新随笔
|
发新文章
|
联系
|
聚合
|
管理
hdu 3668
/**/
/*
题意:求相交两个的管体积 有可能 2R > H
= 两个管体积 - 公共体积
求公共体积,用积分,分2R <= H, 2R > H
下面只算第一相象的那1/8
1)2R <= H
靠近中心的那些相交区域的高是√(R^2-y^2) ,底部的长也为√(R^2-y^2)
R
V = ∫ √(R^2-y^2) * √(R^2-y^2) * dy = 2/3R^3
0
2)2R > H
这时,靠近中心的那些相交区域的高就不是√(R^2-y^2) 而是H/2
答案就为 中间的长方体 + 外部的弧形局域(也即上面的积分公式)
R
V = (H/2)^2√(R^2-(H/2)^2) + ∫ √(R^2-y^2) * √(R^2-y^2) * dy
√(R^2-(H/2)^2)
= (H/2)^2√(R^2-(H/2)^2)
+ 2/3R^3 - (R^2√(R^2-(H/2)^2) - ((√(R^2-(H/2)^2))^3)/3)
*/
#include
<
cstdio
>
#include
<
cstring
>
#include
<
algorithm
>
#include
<
cmath
>
using
namespace
std;
const
double
PI
=
acos(
-
1.0
);
int
main()
{
//
freopen("in","r",stdin);
double
R,H;
while
(
~
scanf(
"
%lf%lf
"
,
&
R,
&
H))
{
double
ans
=
2
*
PI
*
R
*
R
*
H,tmp;
if
(
2
*
R
<=
H)
{
tmp
=
R
*
R
*
R
*
2
/
3
;
}
else
{
double
S
=
sqrt(R
*
R
-
(H
/
2
)
*
(H
/
2
));
tmp
=
(H
/
2
)
*
(H
/
2
)
*
S
+
R
*
R
*
R
*
2
/
3
-
(R
*
R
*
S
-
S
*
S
*
S
/
3
);
}
printf(
"
%.4f\n
"
,ans
-=
8
*
tmp);
}
return
0
;
}
发表于 2010-09-29 19:37
_Yuan
阅读(517)
评论(0)
编辑
收藏
引用
所属分类:
OJ解题报告
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
SRM 239 HiddenTriangles ★★★★
CodeForces 59E 以边为状态bfs ★★★★
TCO'10 Wildcard Round 500pt CalculationCards
zoj 3462 bitset
SRM 496 PalindromfulString 容斥写法 ★★★★
CodeForces 57D
CodeForces 55D 数位统计 记忆化搜索 跟pre有关 ★★★★
CodeForces 55E Very simple problem
zoj 3455 统计出现次数 判断相等 用l[i]记录字母出现i次的个数 ★★★★
zoj 3354 映射 环 计数 ★★★
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
常用链接
我的随笔
我的评论
我参与的随笔
随笔分类
Dp(27)
(rss)
OJ解题报告(153)
(rss)
OThers(17)
(rss)
TopCoder
(rss)
计算几何(2)
(rss)
枚举(4)
(rss)
数据结构(6)
(rss)
数论(5)
(rss)
搜索(2)
(rss)
贪心(4)
(rss)
图论(10)
(rss)
学习笔记(6)
(rss)
学习总结(19)
(rss)
组合数学(3)
(rss)
Links
Lord Li
Lord zeus
搜索
最新评论
1. re: 双向BFS[未登录]
博主,只用一个队列不就可以解决你第一个问题了吗
--jason
2. re:nvgagkguaioguaiiananfajfofajiosfgoasoajgia[未登录]
cscdcuis
--1
3. re: zoj 3436 逆推 搜
评论内容较长,点击标题查看
--ZH
4. re: zoj 2318 计算几何 spfa判负环
写得好!
--ipqhjjybj
5. re: Poj 1066
@杨书鉴
你写的排序好像不对啊。。。
--小猊