题解 ABC292F Regular Triangle Inside a Rectangle
很久都没有写过题解了
题意描述
求一个矩形内最大的正三角形的边长。
做法
很多,就不给代码了。
下面 $a$ 为宽,$b$ 为长。
并且显然,三角形是矩形的内接三角形且一个顶点在矩形顶点上最优。
二分角度
首先来个分讨:
- 如果 $2a\le \sqrt{3}b$ 直接以 $a$ 为高,输出 $\frac{2\sqrt{3}a}{3}$ 即可。
- 否则二分三角形与矩形夹角角度,具体参考这篇题解。
二分长度
首先来个分讨:
- 同二分角度。
- 否则二分三角形另一个顶点与矩形的一个顶点的距离,理论可做。
解方程
还是分讨,同二分角度。
设正三角形的边长为 $x$,我们可以列出下面这个方程: $$ (a^2-\sqrt{x^2-b^2})^2+(b^2-\sqrt{x^2-a^2})^2=x^2 $$ 稍微解亿解,就可以得到下面这个符合题意的解: $$ x=2\sqrt{a^2+b^2-\sqrt{3}ab} $$
二分方程的解
上接解方程。
不会解方程?没关系,我们可以二分。
($f(x)=(a^2-\sqrt{x^2-b^2})^2+(b^2-\sqrt{x^2-a^2})^2-x^2$ 图像,$a=1$ 且 $b=1$ 时)
可以观察到符合题意的解是最小的正整数解。
我们只需要控制二分的上限即可二分。
瓜豆原理
学过初中数学没?
根据画图可知,当正三角形的一个端点被固定在一点,另一点在一条直线上面移动,那么剩下的那个点的轨迹一定是一条直线。(自己去证)
那么我们现在已知定点坐标和动点的路径,那么可以算出剩下那个点的轨迹,找到与矩形的交点的坐标,根据距离公式算出解即可。