そのうち、最初の 12 個(表の 1 ~ 3 行目)をマスターする方法は、中級編 2-2-2. 節で解説がされていますので、こちらをご覧ください。本節では、残りの 11 個を理解できる記事たちを紹介したいと思います。 座標圧縮 まとまった解説記事が見つからないので、こちらで簡潔に解説しておきます。 座標圧縮とは、とても大きい座標があって現実的に扱えないサイズである場合に、圧縮して計算量を抑えるというテクニックです。以下の画像のように、相対的な位置関係が崩れないように圧縮します。(一次元の場合でも、二次元の場合でも通用します。) 実装などを含めた詳しい部分は、以下の記事に書かれています。 座標圧縮について勉強した (java)| バイトの競プロメモ 座標圧縮| 個人的な競プロメモ 半分全列挙 $N$ 通りの全列挙を $O(\sqrt{N})$ 程度の計算回数で効率的に計算する手法です。以下の