公式

E - K-Independent Matrix 解説 by tatesoto


方針

\(A_{i,j}=\gcd(i,j)\) を出力することで、この問題に正解できます。

正当性

構築した行列が問題の条件を満たすことを示します。

まず、任意の \(i,j\) について \(1 \le \gcd(i,j) \le N\) であるため、すべての成分は \(1\) 以上 \(N\) 以下です。

次に、任意の \(K\ (1 \le K \le N)\) と、任意の \(K \times K\) の小正方形を考えます。

この小正方形が、行 \(r,r+1,\ldots,r+K-1\) と、列 \(c,c+1,\ldots,c+K-1\) からなるとします。

連続する \(K\) 個の整数の中には、\(K\) の倍数がちょうど \(1\) 個存在します。したがって、

  • \(r,r+1,\ldots,r+K-1\) の中には、\(K\) の倍数である行番号がちょうど \(1\) 個存在します。
  • \(c,c+1,\ldots,c+K-1\) の中には、\(K\) の倍数である列番号がちょうど \(1\) 個存在します。

よって、この小正方形の中には、\(K \mid i\) と \(K \mid j\) を同時に満たす位置 \((i,j)\) がちょうど \(1\) 個存在します。

一方、構築より \(A_{i,j}=\gcd(i,j)\) であるため、

\[ K \mid A_{i,j} \iff K \mid \gcd(i,j) \iff K \mid i \text{ かつ } K \mid j \]

が成り立ちます。

したがって、この \(K \times K\) の小正方形には、\(K\) の倍数である成分がちょうど \(1\) 個存在します。

以上より、構築した行列は問題の条件をすべて満たします。

計算量

各成分について \(\gcd(i,j)\) を計算します。

\(1\) 回の最大公約数の計算量を \(O(\log N)\) とすると、各テストケースの時間計算量は

\[ O(N^2 \log N) \]

です。

全テストケースについては

\[ O\left(\sum N^2 \log N\right) \]

です。