首页 > 其他分享 >40. CF-Not So Simple Polygon Embedding

40. CF-Not So Simple Polygon Embedding

时间:2023-03-15 22:46:39浏览次数:55  
标签:frac Polygon Simple dfrac CF 4n 2n pi sin

链接

题解里的几何做法很巧妙,这里记录一下。

因为有 \(2n\) 条边,每条边对应的角度就是 \(\dfrac{2\pi}{2n}\)。

考虑对角线与底边平行的状态。顺时针或逆时针转动 \(\dfrac{\pi}{2n}\) 的角度后,对角线会与底边垂直,这就还原成了最开始的状态。

然后因为顺时针和逆时针转是一样的,所以最优解应该在中间取到。

此时旋转的角度为 \(\dfrac{\pi}{4n}\)。取多边形中心 \(O\),向底边作垂线,可以得到

\[\frac{1}{2}d=r\cos(\frac{\pi}{4n}) \]

其中 \(d\) 就是所求的正方形边长,然后 \(r\) 是多边形顶点到中心的距离。

显然

\[\sin(\frac{\pi}{2n})=\frac{1}{2r} \]

所以答案就是 \(\dfrac{\cos(\frac{\pi}{4n})}{\sin(\frac{\pi}{2n})}\),即 \(\dfrac{1}{2}\sin(\dfrac{\pi}{4n})\)。

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

const double pi = acos(-1);

void solve() {
    int n;
    cin >> n;
    cout << 0.5 / sin(pi / (4 * n)) << "\n";
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int T = 1;
    cin >> T;
    cout << fixed << setprecision(10);
    while (T--) {
        solve();
    }
}

标签:frac,Polygon,Simple,dfrac,CF,4n,2n,pi,sin
From: https://www.cnblogs.com/theophania/p/p40.html

相关文章

  • CF590E Birthday
    \(\text{Solution}\)建出ACAM后利用fail树就可以确定子串关系了,如果建成有向图然后看问题,考虑最长反链等于最小链覆盖,那么就是求一个可重路径覆盖问题Floyd传递闭......
  • CCF 2022-12
    一:试题编号:2022-12-1试题名称:现值计算时间限制:1.0s内存限制:512.0MB问题描述:样例输入20.05-200100100样例输出-14.059样例说明该项目当前支出 200 元,在接下来两年每年收......
  • [CF1788F] XOR, Tree, and Queries
    题目描述Youaregivenatreeof$n$vertices.Theverticesarenumberedfrom$1$to$n$.Youwillneedtoassignaweighttoeachedge.Lettheweight......
  • Xflow软件与传统CFD软件比较有哪些优势
    在应用传统的基于网格的方法来求解计算流体动力学(CFD)问题时,结果的可靠性高度依赖于网格质量。这样会导致工程师将大部分时间耗费在处理网格离散化上,而不是解决工程问题。此......
  • Xflow软件与传统CFD软件比较有哪些优势
    在应用传统的基于网格的方法来求解计算流体动力学(CFD)问题时,结果的可靠性高度依赖于网格质量。这样会导致工程师将大部分时间耗费在处理网格离散化上,而不是解决工程问题。此......
  • CF1736B 1200 *
    题意解析解析:每个a[i]是由b[i]和b[i+1]取最大公因数得出,所以对于每个b[j]来说应该既是a[j]的倍数,又是a[j-1]的倍数。现实在取的时候,可以取b[j]=lcm(a[j-1],a[j])。然......
  • CCF 2022-9
    一:试题编号:2022-9-1试题名称:如此编码时间限制:1.0s内存限制:512.0MB问题描述:样例1输入1532767222222222222222样例1输出111111111111111样例2输......
  • CF1801E/CF1802G
    思路设\(x_i\)为从\(a\)到\(b\)的简单路径上的节点,\(y_i\)从\(c\)到\(d\)的简单路径上的节点。那么每次操作就是使\(x_i\)的汽油价格和\(y_i\)一致,这个......
  • 39. CF-Decreasing Heights
    链接这种网格图的题容易想到dp。考虑最普通的做法,dp[i][j]表示走到\((i,j)\)处的最小代价,那么转移的时候需要确定前一个格子的高度。所以在dp之前,需要先定好所有格......
  • CFR 反编译 Java 枚举
    CFR到这里下载。运行如下命令使用当前文件夹下的cfr-0.152.jar反编译当前文件夹下的T.class。java-jarcfr-0.152.jarT.class--sugarenumsfalse其中--sugarenum......