首页 > 其他 > 详细

[CF1354C2] Not So Simple Polygon Embedding - 数学,几何

时间:2020-11-16 22:41:18      阅读:39      评论:0      收藏:0      [点我收藏+]

Description

给定一个边长为 \(1\) 的正 \(2n\) 边形,求能容纳它的最小的正方形的边长。

Solution

根据对称性得,在转动 \(\pi / 4n\) 的时候取得极值,容易验证其为最小值。

考虑边长为 \(1\) 时,弦心距为 \(\frac {1} {2 \sin(\pi / 2n)}\),于是正方形边长为 \(2 \frac {cos(\pi / 4n)} {2 \sin(\pi / 2n)}\) = $ \frac {cos(\pi / 4n)} {\sin(\pi / 2n)}$。

#include <bits/stdc++.h>
using namespace std;

#define int long long 
const int N = 1000005;

int n;
const double pi = acos(-1);

void solve()
{
    cin>>n;
    double ans = cos(pi/4/n) / sin(pi/2/n);
    printf("%.10lf\n",ans);
}

signed main()
{
    int t;
    cin>>t;
    while(t--)
    {
        solve();
    }
}

[CF1354C2] Not So Simple Polygon Embedding - 数学,几何

原文:https://www.cnblogs.com/mollnn/p/13991490.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!