F - Regular Triangle Inside a Rectangle Editorial by ngtkana


正方形に近いとき

\(a \le 2b / { \sqrt 3 }\) かつ \(b \le 2a / { \sqrt 3 }\) のとき、斜めな感じでしまうのが最適です。

この正三角形の一辺の長さを \(L\) とおき、次の図のように点を命名しておきます。(ただし、\(\triangle OAD, \triangle OPQ\) はともに正三角形です。)最初に正三角形を下にくっつけて(\(\triangle OAD\))おいて、そこから青い \(2\) つの互いに合同な直角三角形に沿って拡大・回転をした(\(\triangle OPQ\))と思うとわかりやすいかもです。

すると \(\angle OED = 30 ^ \circ\) から

\[ \begin{aligned} DE &= \sqrt 3 a\\ QE &= 2 b \end{aligned} \]

がわかりますから、

\[ \begin{aligned} QD &= QE - DE = 2 b - \sqrt 3 a \\ L &= OQ = \sqrt { OD ^ 2 + QD ^ 2 } = 2 \sqrt { a ^ 2 - \sqrt 3 a b + b ^ 2 } \end{aligned} \]

となります。\(\angle OED = 30 ^ \circ\) の三角形の辺の比のところを除くと三平方の定理を一度しか使わないあたり、とても面白いと私は思うわけです。

一般の場合

答えと \(2a / \sqrt 3, 2b / \sqrt 3 \) の min をとるなり、あらかじめ入力を \(\sqrt 3 : 2\) 以下になるように縮めておくなりするとよいです。

私の解法、結局何がポイントだったのか

\(B\) から横にッ ビィイイイーンム、点 \(D\) から左上斜め \(30 ^ {\circ}\) 方向にッ ビィイイイーンムをしたときに ドンガラガッシャァアーン な点が \(Q\) ですよというのがポイントなわけです。

以下、この事実に基づいた解法をいくつかご紹介させていただきます。

別解 1

余弦定理で線分 \(DB\) の長さを求めれば、あとは四角形 \(ODQB\) が直径 \(L\) の円に内接することから正弦定理で求まります。(力技ですが、補助線が少なくて済むため思いつきやすいです。ちなみに私が最初に思いついたのはこちらです。)

別解 2

横ビームと斜めビームの方程式をそれぞれ求めて交点計算でもよいです。

補助線系の別解

直線 \(DQ\) と直線 \(OB\) の交点を取る方法、点 \(Q\) から直線 \(OA\) に垂線を下ろす方法など、いろいろありえそうです。中でも最も簡単と判断した解法を主解法とさせていただきました。

posted:
last update: