Official
G - Isosceles Trapezium Editorial by sugarrr
\(2\) 辺を等脚台形の平行な対辺にできるための必要十分条件は、以下の条件を全て満たすことです。
- 辺の垂直二等分線が一致する
- 辺の中点が一致しない
この考察から、以下の解法が思いつきます。
辺としてあり得るものを、
- 辺の垂直二等分線
- 辺の中点
- 重みの和
を保存しつつ全列挙し、垂直二等分線で分類します。
垂直二等分線が一致する辺のグループを \(1\) つ取り出し、このグループ内での答えを考えます。
これは、重みの和が最大の辺を必ず使うとして良いので、答えを求めることができます。
以上で本問題を解くことができました。
計算量は垂直二等分線による分類がボトルネックとなり、\(O(N^2 \log N)\) です。
なお、実数型を使うときは十分計算誤差に注意しましょう。
本問題では全て整数型で計算した方が安全だと思います。
また、傾きが \(0\) や \(\infty \) の辺 / 垂直二等分線があることにも注意しましょう。
場合分けをするか、または、直線を \(y=ax+b\) の形ではなく \(ax+by+c=0\) の形で扱うなどの方法があります。
posted:
last update: