Official

D - Zeta Sum Editorial by karinohito


まず、二項定理から、

\[\text{(与式)}=\sum_{k=0}^{N}\binom{N}{k}\left\{\left(\sum_{a=1}^{N}\sum_{i=0}^{a-1}\zeta_a^{ik}\right)\left(\sum_{b=1}^{N}\sum_{j=0}^{b-1}\zeta_b^{j(N-k)}\right)\right\}\]

が成り立ちます。ここで、

\[\sum_{i=0}^{a-1}\zeta_{a}^{ik}=\begin{cases} 0&(a\nmid k) \\ a&(a\mid k) \end{cases}\]

が成り立ちます。

証明

\(\zeta_{a}^{i(k+a)}=\zeta_{a}^{ik}\) であるので, \(0\le k\lt a\) の時を考えればよいです。

\(0<k<a\) の時

\(\gcd(a,k)=g\), \(a=a'g\), \(k=k'g\) とすれば、
\(\zeta_{a}^{ik}=\zeta_{a'}^{ik'}\) 及び, \(\zeta_{a'}^{(i+a')k'}=\zeta_{a'}^{ik'}\) から

\[\sum_{i=0}^{a-1}\zeta_{a}^{ik}=g\sum_{i=0}^{a'-1}\zeta_{a'}^{ik'}\]

を得ます。
よって、\(\gcd(a,k)=1\) の場合が示されればよいです。
以下 \(a,k\) は互いに素とします。

\(i=0,1,\dots,a-1\) について、 \(ki\mod{a}\) は全て異なります。
実際、 \(ki\equiv ki'\mod{a}\) とすると、 \(k(i-i')\equiv 0\mod{a}\) より、\(i=i'\) となります。 従って、

\[\sum_{i=0}^{a-1}\zeta_{a}^{ik}=\sum_{i=0}^{a-1}\zeta_{a}^{i}=0\]

となります。 ただし、最後の等号には \(\zeta_{a}^{0},\zeta_{a}^{1},\dots,\zeta_{a}^{a-1}\)\(x^a-1\) の相異なる根である事及び解と係数の関係を用いています。

\(k=0\) の時

\(\zeta_{a}^{ik}=1\) であるので、等式が成り立ちます。

よって、

\[\sum_{a=1}^{N}\sum_{i=0}^{a-1}\zeta_a^{ik}=\sum_{a\mid k}a=d(k)\]

となります。 ただし、\(d(k)\)

\[d(k)=\begin{cases} \frac{N(N+1)}{2}&(k=0)\\ k\text{の正の約数の総和}&(k\neq 0) \end{cases}\]

で定められる値です。

同様にして、

\[\sum_{b=1}^{N}\sum_{j=0}^{b-1}\zeta_b^{j(N-k)}=d(N-k)\]

であるので、

\[\text{(与式)}=\sum_{k=0}^{N}\binom{N}{k}d(k)d(N-k)\]

となります。 \(d(k)\) の値や二項係数の値は全体を \(O(N\log N)\) で計算することができるのでこの問題を解くことができました。

posted:
last update: