E - Cross Sum Construction Editorial
by
m_99
\(m_{i,j}\) は \(S\) の要素の総和に \(2N-1\) 回寄与するため、スコアの最大値が \(N^2\) であるための必要条件は \(X\) の総和が \(2N-1\) の倍数であることです。また、これは十分条件でもあります。まず、この場合の構成法を示します。
各 \(i,j\) に対し、\(i\) 行 \(j\) 列目に対する総和を \(s_{i,j}\) とする方法を考えます。\(s_{i,j}\) の総和を \(\mathrm{sum}\)、\(i\) 行目に対する \(s_{i,j}\) の総和を \(r_i\)、\(j\) 列目に対する \(s_{i,j}\) の総和を \(c_j\) とした時、\(m_{i,j} = -2 \mathrm{sum} + (2N-1)(r_i+c_j) - (2N-1)(N-1)s_{i,j} \) とすると \(i\) 行 \(j\) 列目に対する総和が \((2N-1)(N-1)s_{i,j}\) となります。このため、この式の値が \(2N-1\) の倍数かつ \(N-1\) の倍数の時( \(2N-1\) と \(N-1\) は互いに素なのでこの条件は独立に扱えます)、\((2N-1)(N-1)\) で割ることで目的が達成できます。
現在は \(X\)の要素の総和 が \(2N-1\) の倍数の場合を考えているため、 \(2N-1\) の倍数という条件は満たされています。
問題は \(N-1\) の倍数という条件で、これは一般に満たされないため、\(X\) の要素と \(s_{i,j}\) を適切に対応させる必要があります。\(r_1,\ldots,r_N,c_1,\ldots,c_N\) が \(\mathrm{mod}\) \(N-1\) で等しくなるようにすると上の式は \(N-1\) の倍数となるため、そのように \(s_{i,j}\) を定めることにします。
以降、添え字を 0-indexed とし、 \([0,N)\) に収まらない場合、\(\mathrm{mod}\) \(N\) で等しいものを考えることにします。
\(N\) が奇数の場合、\(s_{i,j} = a_{-i+j} + b_{-2i+j}\) とすると、どの行・列も総和が \(\sum a_i + \sum b_i\) となり、条件を満たします。
\(N\) が偶数の場合、同様に \(s_{i,j} = a_k + b_l\) と表します。まず \(a_0,a_{\frac{N}{2}}\) が \(\mathrm{mod}\) \(N-1\) で等しくなるように並び替えます。そして、\(k\) を次のように定めます。
\[ k = \begin{cases} -i+j & (-i+j \neq 0 かつ -i+j \neq \frac{N}{2}) \\ \frac{N \times( i \bmod 2)}{2} & (-i+j = 0 または -i+j = \frac{N}{2}) \end{cases} \]
\(l=1,2,\ldots,N\) に対しては、\(l\) と対応する \((i,j)\) を次のように定めます。
- \(x=0,1,\ldots,\frac{N}{2}-1\) に対する \((2 \lfloor \frac{l}{2}\rfloor + \frac{N \times( l \bmod 2)}{2} + x, 2 \lfloor \frac{l}{2}\rfloor+2x)\)
- \(x=\frac{N}{2}, \frac{N}{2}+1,\ldots,N-1\) に対する \((2 \lfloor \frac{l}{2}\rfloor + \frac{N \times( l \bmod 2)}{2} + x, 2 \lfloor \frac{l}{2}\rfloor+2x+1)\)
すると、条件を満たします。
証明
各 \(l\) に対し、\(i\) は明らかに \(0,1,\ldots,N-1\) が一度ずつ現れます。\(j\) に関して、\(N\) が偶数の時 \(0,2,4,\ldots\) の周期は \(\frac{N}{2}\) であるため \(0 \leq x \lt \frac{N}{2}\) と \(\frac{N}{2} \leq x \lt N\) でそれぞれ\(j\) が奇数・偶数の場合が出現しており、こちらも \(0,1,\ldots,N-1\) が一度ずつ現れます。よって、\(r_1,\ldots,r_N,c_1,\ldots,c_N\) に対して \(b_l\) はちょうど \(1\) 回ずつ寄与し、最終的に等しくなります。
また、\(x=0\) の時と \(x=N-1\) の時、\(-i+j\) は \(0\) または \(\frac{N}{2}\) であり、等しいです。この値を \(y\) とすると、\(0 \leq x \lt \frac{N}{2}\) に対しては \(-i+j=y+x\) 、\(\frac{N}{2} \leq x \lt N\) に対しては \(-i+j=x+y-(N-1)\) となり、\(-i+j\) として\(\mathrm{mod}\) \(N\) で \(\frac{N}{2}+1\) 以上 \(\frac{N}{2}-1\) 以下の値が一度ずつ現れます。また、\(-i+j=0\) または \(-i+j=\frac{N}{2}\) の時、\(k\) は \(i\) の偶奇で変わるように定めているため、\(k\) は \(0,1,2,\ldots,N-1\) がすべて現れています。よって、\(l\) ごとに \(k\) から \(x\) への対応が取れています。
また、各 \((i,j)\) から \(l\) への対応も取れます。 \((i,j)\) と \((i,j+1)\) のうちちょうど一方から、 \((-2,-2)\) と \((-1,-2)\) を繰り返すことで \(2\) 種類の \(l\) の \(x=0\) に対応する \((i,j)\) になります。\((-1,-2)\) は周期 \(\frac{N}{2}\) なので \(0\leq x \lt \frac{N}{2}\) と \(\frac{N}{2} \leq x \lt N\) のうちちょうど一方に対応し、それが \((i,j)\) から \(l\) への対応です。
\(l\) ごとに \(k=0,1,\ldots,N-1\) なる \((i,j)\) を含むこと、\((i,j)\) から \(l\) に対応することから上述の構成によって \(a_k + b_l\) がすべて現れるといえます。
以上を基に構成することで \(X\) の総和が \(2N-1\) の倍数の場合はスコアの最大値 \(N^2\) を達成することが出来ました。
\(X\) の総和が \(2N-1\) の倍数でない場合、上述の方法で \(\mathrm{mod}\) \(N-1\) が合うように \(s_{i,j}\) を合わせた後、適当な \(s_{i,j}\) を \(+N-1\) し続けることで( \(N-1\) と \(2N-1\) は互いに素なので) \(N-1\) の倍数という条件を保ったまま総和を \(2N-1\) の倍数に出来、最大値 \(N^2-1\) を達成できます。
posted:
last update:
