很久都没有写过题解了

题意描述

求一个矩形内最大的正三角形的边长。

做法

很多,就不给代码了。

下面 $a$ 为宽,$b$ 为长。

并且显然,三角形是矩形的内接三角形且一个顶点在矩形顶点上最优。

二分角度

首先来个分讨:

  1. 如果 $2a\le \sqrt{3}b$ 直接以 $a$ 为高,输出 $\frac{2\sqrt{3}a}{3}$ 即可。
  2. 否则二分三角形与矩形夹角角度,具体参考这篇题解

二分长度

首先来个分讨:

  1. 同二分角度。
  2. 否则二分三角形另一个顶点与矩形的一个顶点的距离,理论可做。

解方程

还是分讨,同二分角度。

设正三角形的边长为 $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$ 时)

可以观察到符合题意的解是最小的正整数解。

我们只需要控制二分的上限即可二分。

瓜豆原理

学过初中数学没?

根据画图可知,当正三角形的一个端点被固定在一点,另一点在一条直线上面移动,那么剩下的那个点的轨迹一定是一条直线。(自己去证)

那么我们现在已知定点坐标和动点的路径,那么可以算出剩下那个点的轨迹,找到与矩形的交点的坐标,根据距离公式算出解即可。