HDU-5858 Hard problem(数学公式、计算几何)
2017-09-14 01:49
316 查看
题意:
已知正方形边长,圆是内切圆,1/4圆半径等于正方形边长,求图中阴影部分的面积。
思路:
对于我这种高中毕业之后就再没做过几何的人还是挺困难的,乱七八糟的公式都忘掉了。
做完辅助线之后,其实就是求两个扇形的面积和两个三角形的面积,可以找出如图三个边长,然后根据余弦定理可以求得cos∠1和cos∠2进而得到两个角度,然后根据扇形弧长公式和扇形面积公式可以求得扇形弧长以及面积,然后再根据正弦定理可以求得两个三角形的面积,最后加减组合一下就是一个阴影面积,然后再*2就是答案。
补充:
余弦定理:对于任意三角形,任何一边的平方等于其他两边平方的和减去这两边与它们夹角的余弦的两倍积,即a^2 = b^2+c^2-2bccos(α)。
正弦定理:在任意三角形中,角A、B、C所对的边长分别为a、b、c,三角形外接圆的半径为R。则有:
变形:a = 2RsinA, b = 2RsinB, c = 2RsinC
三角形面积公式:S = 1/2bcsinA = 1/2acsinB = 1/2absinC
扇形弧长公式:L = α×r = nπr/180,其中α是圆心角弧度,n是圆心角度数,r是半径。
扇形面积公式:S = L×R/2 = α×R^2/2,其中α是圆心角弧度,L是弧长,R是半径。
代码:
#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1.0);
int t, l;
int main()
{
for(scanf("%d", &t); t--;)
{
scanf("%d", &l);
double th1 = 2*acos(5*sqrt(2)/8);
double th2 = 2*(pi-acos(sqrt(2)/-4));
double L1 = th1*l;
double L2 = th2*(l/2.0);
double s1 = L1*l/2;
double s2 = L2*(l/2.0)/2;
double s3 = l*l*sin(th1)/2;
double s4 = l/2.0*l/2.0*sin(th2)/2;
double area = s2-(s1-s3)-s4;
printf("%.2f\n", area*2);
}
return 0;
}
继续加油~
已知正方形边长,圆是内切圆,1/4圆半径等于正方形边长,求图中阴影部分的面积。
思路:
对于我这种高中毕业之后就再没做过几何的人还是挺困难的,乱七八糟的公式都忘掉了。
做完辅助线之后,其实就是求两个扇形的面积和两个三角形的面积,可以找出如图三个边长,然后根据余弦定理可以求得cos∠1和cos∠2进而得到两个角度,然后根据扇形弧长公式和扇形面积公式可以求得扇形弧长以及面积,然后再根据正弦定理可以求得两个三角形的面积,最后加减组合一下就是一个阴影面积,然后再*2就是答案。
补充:
余弦定理:对于任意三角形,任何一边的平方等于其他两边平方的和减去这两边与它们夹角的余弦的两倍积,即a^2 = b^2+c^2-2bccos(α)。
正弦定理:在任意三角形中,角A、B、C所对的边长分别为a、b、c,三角形外接圆的半径为R。则有:
变形:a = 2RsinA, b = 2RsinB, c = 2RsinC
三角形面积公式:S = 1/2bcsinA = 1/2acsinB = 1/2absinC
扇形弧长公式:L = α×r = nπr/180,其中α是圆心角弧度,n是圆心角度数,r是半径。
扇形面积公式:S = L×R/2 = α×R^2/2,其中α是圆心角弧度,L是弧长,R是半径。
代码:
#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1.0);
int t, l;
int main()
{
for(scanf("%d", &t); t--;)
{
scanf("%d", &l);
double th1 = 2*acos(5*sqrt(2)/8);
double th2 = 2*(pi-acos(sqrt(2)/-4));
double L1 = th1*l;
double L2 = th2*(l/2.0);
double s1 = L1*l/2;
double s2 = L2*(l/2.0)/2;
double s3 = l*l*sin(th1)/2;
double s4 = l/2.0*l/2.0*sin(th2)/2;
double area = s2-(s1-s3)-s4;
printf("%.2f\n", area*2);
}
return 0;
}
继续加油~
相关文章推荐
- HDU 5858 Hard problem(计算几何)
- HDU-5858 Hard problem(计算几何)
- HDU 5858 Hard problem(计算几何)【较难】【多校联合8.18】
- hdu 5858 Hard problem【计算几何+思维】
- HDU 5858 Hard problem(计算几何)
- HDU 4798 Skycity (计算几何+推公式) 2013 Asia Changsha Regional Contest
- CodeForces 659 D. Bicycle Race(计算几何 + 数学公式)
- HDU 5858 Hard problem(几何)
- HDU-5858-Hard problem(几何)
- HDU - 5858 Hard problem (简单几何?)
- HDU 5858 Hard problem (数学推导)
- HDU 5858 Hard problem (几何)
- hdu 5858 Hard problem(2016 Multi-University Training Contest 10——数学题)
- hdu_5858_Hard problem(数学题)
- HDU 5858 Hard problem 2016多校10 1002 [相交圆面积]【计算几何】
- HDU 5858 Hard problem (公式推导)
- hdu-5858 Hard problem(数学)
- hdu 5448 Marisa’s Cake(计算几何加推公式)
- L - Calm Down(数学几何计算)
- [ios]object-c math.h里的数学计算公式介绍