Codeforces 1354C1&2 Simple & Not Not So Simple Polygon Embedding 阴间几何题

本文探讨了边长为111,边数为2n的正多边形如何完全放入一个正方形内部的问题。针对n为偶数和奇数的情况进行了分析,特别是当n为奇数时,通过示例分析了n=3时的最优解。通过数学计算,得出正方形最小边长的表达式,并提供了C++代码实现。解答过程中涉及几何、三角函数和优化问题。
摘要由CSDN通过智能技术生成

文章目录

题意

边长为 1 1 1,边数为 2 n 2n 2n的正多边形可以完全放在一个正方形内部,求正方形的最小边长.

题解

对于C1, n n n为偶数的时候,多边形的最外面四边刚好是分别平行垂直的,因此答案没有异议,为 1 tan ⁡ π 2 n \frac{1}{\tan \frac{\pi}{2n}} tan2nπ1.


然而C2中当 n n n为奇数时,这题就完全不一样了.
C2
n = 3 n=3 n=3为例,六边形横放在正方形当中显然不好,而在中图里,多边形的一条直径和正方形的对角线共线,感性理解+严谨证明可以发现这种情况为最优解.
可以三分角度求解答案,也可以直接使用公式.
在这里插入图片描述
如图为 1 4 \frac{1}{4} 41正方形,左侧所示线为多边形直径所在对角线,彩虹笔所指为和正方形的边的接触点,灰线为外接圆(可能比较抽象).
接触点所在半径和图示对称线夹角必然最小,显然有 ∣ π 4 − k π n ∣ |\frac{\pi}{4}-\frac{k\pi}{n}| 4πnkπ最小,解得最小角度为 π 4 n \frac{\pi}{4n} 4nπ.
Δ A O B \Delta AOB ΔAOB中, ∠ A O B \angle AOB AOB已经求得,半径 A O AO AO显然可求,故三角形可解,由此得到 O B OB OB的长以及正方形的边长.

在这里插入图片描述

int main() {
  for (int t=read();t--;) {
    using db=double;
    const db pi=3.14159265359;
    db a=read();
    printf("%.9lf\n",cos(pi/4/a)/sin(pi/2/a));
  }
}

答案为 cos ⁡ π 4 n sin ⁡ π 2 n \frac{\cos \frac{\pi}{4n}}{\sin \frac{\pi}{2n}} sin2nπcos4nπ,谢谢大家.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值