| For All Solvers
NF杯2024

NF杯2024(Q) - 2つの母関数(多項式)を用いる解法

ユーザー解説 by MARTH

 aba^bmod 3\mathrm{mod} ~ 3 における寄与を考えるとき, bb が偶数か奇数かで性質が変わってしまう. よって, x1y10x10y1x_1\rightarrow y_{10}\rightarrow x_{10}\rightarrow\cdots\rightarrow y_1 の順に決めながら, 直前に決めた数の偶奇で場合分けを行い, y10x1x10y10y9x10x1y1 y_{10}^ {x_1}\rightarrow x_{10}^{y_{10}}\rightarrow y_{9}^{x_{10}}\rightarrow\cdots\rightarrow x_1^{y_1} の順に寄与を反映させる.
また最初に決めた x1x_1 の値で, 最後の x1y1x_1^{y_1} の寄与も依存するから最初に決める x1x_1 の偶奇で場合分けをする.


 ① x1{1,3}x_1\in \{1,3\} のとき.
多項式 ( 33 で割った余りが同じ次数は同一視, すなわち x31x^3-1 を法として考える) f(x),g(x)f(x),g(x) を以下のように定義する.

  • Z=(x1,y10),   S=y10x1Z=(x_1,y_{10}),\;\ S=y_{10}^{x_1} とし, ZZ の末尾の要素 を 22 で割った余りが ii で, SS33 で割った余りが jj となる ZZ の個数を dp[i][j]dp[i][j] とし, f(x)=dp[0][0]+dp[0][1]x+dp[0][2]x2,g(x)=dp[1][0]+dp[1][1]x+dp[1][2]x2f(x)=dp[0][0]+dp[0][1]x+dp[0][2]x^2,\quad g(x)=dp[1][0]+dp[1][1]x+dp[1][2]x^2 とする.

 このとき, 初期値として, (f(x)g(x))=(1+xx2) \begin{pmatrix} f(x)\\ g(x)\\ \end{pmatrix}= \begin{pmatrix} 1+x\\ x^2\\ \end{pmatrix} が成り立つ. Z(Z,x10),   SS+x10y10Z\leftarrow (Z,x_{10}),\;\ S\leftarrow S+x_{10}^{y_{10}} とし, このとき f,gf,g は以下のように変化する. (f(x)g(x))(xx21+x1+x)(f(x)g(x)) \begin{pmatrix} f(x)\\ g(x)\\ \end{pmatrix} \leftarrow \begin{pmatrix} x&x^2\\ 1+x&1+x\\ \end{pmatrix} \begin{pmatrix} f(x)\\ g(x)\\ \end{pmatrix} 次に, Z(Z,y9),   SS+y9x10Z\leftarrow (Z,y_9),\;\ S\leftarrow S+y_9^{x_{10}} のときの (f,g)(f,g) の遷移は (f(x)g(x))(1+x1+xxx2)(f(x)g(x)) \begin{pmatrix} f(x)\\ g(x)\\ \end{pmatrix} \leftarrow \begin{pmatrix} 1+x&1+x\\ x&x^2\\ \end{pmatrix} \begin{pmatrix} f(x)\\ g(x)\\ \end{pmatrix} となる. 従って, 初期値 Z=(x1,y10),   S=y10x1Z=(x_1,y_{10}),\;\ S=y_{10}^{x_1} から Z(Z,x10,y9,x9,,y1),  SS+x10y10+y9x10+x9y9++y1x2Z\leftarrow (Z,x_{10},y_9,x_9,\dots,y_1),\;S\leftarrow S+x_{10}^{y_{10}}+y_9^{x_{10}}+x_9^{y_9}+\cdots+y_1^{x_2} における (f,g)(f,g) の遷移は (f(x)g(x))((1+x1+xxx2)(xx21+x1+x))9(f(x)g(x)) \begin{pmatrix} f(x)\\ g(x)\\ \end{pmatrix} \leftarrow \Bigg( \begin{pmatrix} 1+x&1+x\\ x&x^2\\ \end{pmatrix} \begin{pmatrix} x&x^2\\ 1+x&1+x\\ \end{pmatrix} \Bigg)^9 \begin{pmatrix} f(x)\\ g(x)\\ \end{pmatrix} であり, この状態から最後 Z(Z,x1),SS+x1y1Z\leftarrow (Z,x_1), S\leftarrow S+x_1^{y_1} としたときの遷移は x1{1,3}x_1\in\{1,3\} に注意すると, (f(x)g(x))(001+x1+x)(f(x)g(x)) \begin{pmatrix} f(x)\\ g(x)\\ \end{pmatrix} \leftarrow \begin{pmatrix} 0&0\\ 1+x&1+x\\ \end{pmatrix} \begin{pmatrix} f(x)\\ g(x)\\ \end{pmatrix} となる. したがって, 以下の多項式 f(x),g(x)f(x),g(x) それぞれの 33 の倍数次の項の係数の総和を求めれば良い. (f(x)g(x))=(001+x1+x)((1+x1+xxx2)(xx21+x1+x))9(1+xx2) \begin{pmatrix} f(x)\\ g(x)\\ \end{pmatrix}= \begin{pmatrix} 0&0\\ 1+x&1+x\\ \end{pmatrix} \Bigg( \begin{pmatrix} 1+x&1+x\\ x&x^2\\ \end{pmatrix} \begin{pmatrix} x&x^2\\ 1+x&1+x\\ \end{pmatrix} \Bigg)^9 \begin{pmatrix} 1+x\\ x^2\\ \end{pmatrix} 上式に x=1,ω,ω2x=1,\omega,\omega^2 を代入すると, (f(1)g(1))=(0022)((2211)(1122))9(21)=(0022)((6633))9(21)=(0022)39(2211)9(21)=(0022)39×38(2211)(21)=(018×317)(f(ω)g(ω))=(001+ω1+ω)((1+ω1+ωωω2)(ωω21+ω1+ω))9(1+ωω2)=(00ω2ω2)((ω2ω2ωω2)(ωω2ω2ω2))9(ω2ω2)=(00ω2ω2)(1+ω0ω2ω1ω)9(ω2ω2)=(00ω2ω2)(1+ω)9(10ω1)9(ω2ω2)=(00ω2ω2)(3exp(56πi))9(10ω1)9(ω2ω2)=(00ω2ω2)39(i)(10ω1)(ω2ω2)=(035+339i2)(f(ω2)g(ω2))=(f(ω)g(ω))=(035339i2) \begin{aligned} \begin{pmatrix} f(1)\\ g(1)\\ \end{pmatrix}&= \begin{pmatrix} 0&0\\ 2&2\\ \end{pmatrix} \Bigg( \begin{pmatrix} 2&2\\ 1&1\\ \end{pmatrix} \begin{pmatrix} 1&1\\ 2&2\\ \end{pmatrix} \Bigg)^9 \begin{pmatrix} 2\\ 1\\ \end{pmatrix}\\ &= \begin{pmatrix} 0&0\\ 2&2\\ \end{pmatrix} \Bigg( \begin{pmatrix} 6&6\\ 3&3\\ \end{pmatrix} \Bigg)^9 \begin{pmatrix} 2\\ 1\\ \end{pmatrix}\\ &= \begin{pmatrix} 0&0\\ 2&2\\ \end{pmatrix} 3^9 \begin{pmatrix} 2&2\\ 1&1\\ \end{pmatrix}^9 \begin{pmatrix} 2\\ 1\\ \end{pmatrix} \\ &= \begin{pmatrix} 0&0\\ 2&2\\ \end{pmatrix} 3^9\times 3^8 \begin{pmatrix} 2&2\\ 1&1\\ \end{pmatrix} \begin{pmatrix} 2\\ 1\\ \end{pmatrix}\\ &=\begin{pmatrix} 0\\ 18\times 3^{17}\\ \end{pmatrix}\\ \begin{pmatrix} f(\omega)\\ g(\omega)\\ \end{pmatrix}&= \begin{pmatrix} 0&0\\ 1+\omega &1+\omega\\ \end{pmatrix} \Bigg( \begin{pmatrix} 1+\omega &1+\omega\\ \omega &\omega^2 \\ \end{pmatrix} \begin{pmatrix} \omega &\omega^2 \\ 1+\omega &1+\omega \\ \end{pmatrix} \Bigg)^9 \begin{pmatrix} 1+\omega \\ \omega^2 \\ \end{pmatrix}\\ &=\begin{pmatrix} 0&0\\ - \omega^ 2 &- \omega^ 2\\ \end{pmatrix} \Bigg( \begin{pmatrix} - \omega^ 2 &- \omega^ 2\\ \omega &\omega^2 \\ \end{pmatrix} \begin{pmatrix} \omega &\omega^2 \\ - \omega^ 2 &- \omega^ 2 \\ \end{pmatrix} \Bigg)^9 \begin{pmatrix} - \omega^2 \\ \omega^2 \\ \end{pmatrix}\\ &=\begin{pmatrix} 0&0\\ - \omega^ 2 &- \omega^ 2\\ \end{pmatrix} \begin{pmatrix} - 1+\omega &0 \\ \omega^2 - \omega &1- \omega \\ \end{pmatrix}^9 \begin{pmatrix} - \omega^2 \\ \omega^2 \\ \end{pmatrix}\\ &= \begin{pmatrix} 0&0\\ - \omega^ 2 &- \omega^ 2\\ \end{pmatrix} (-1+\omega)^9 \begin{pmatrix} 1 &0 \\ \omega & -1 \\ \end{pmatrix}^9 \begin{pmatrix} - \omega^2 \\ \omega^2 \\ \end{pmatrix}\\ &=\begin{pmatrix} 0&0\\ - \omega^ 2 &- \omega^ 2\\ \end{pmatrix} \Big(\sqrt{3}\exp\Big(\frac{5}{6}\pi i \Big)\Big)^9 \begin{pmatrix} 1 &0 \\ \omega & -1 \\ \end{pmatrix}^9 \begin{pmatrix} - \omega^2 \\ \omega^2 \\ \end{pmatrix}\\ &=\begin{pmatrix} 0&0\\ - \omega^ 2 &- \omega^ 2\\ \end{pmatrix} \sqrt{3^9}(-i) \begin{pmatrix} 1 &0 \\ \omega & -1 \\ \end{pmatrix} \begin{pmatrix} - \omega^2 \\ \omega^2 \\ \end{pmatrix}\\ &= \begin{pmatrix} 0\\ \dfrac{3^5+3\sqrt{3^9}i}{2}\\ \end{pmatrix}\\ \begin{pmatrix} f(\omega^2)\\ g(\omega^2)\\ \end{pmatrix}&= \begin{pmatrix} \overline{f(\omega)}\\ \overline{g(\omega)}\\ \end{pmatrix}\\ &= \begin{pmatrix} 0\\ \dfrac{3^5-3\sqrt{3^9}i}{2}\\ \end{pmatrix} \end{aligned} したがって, ①の場合求める組の個数は 13(18×317+35+339i2+35339i2)=18×316+34\frac{1}{3}\Big(18\times 3^{17}+\dfrac{3^5+3\sqrt{3^9}i}{2}+\dfrac{3^5-3\sqrt{3^9}i}{2}\Big)=18\times 3^{16}+3^4 である.

 ②x1{2}x_1\in \{2\} のとき.
①と同様に行うが初期値と最後の遷移が違うことに注意すると, 答えは以下の多項式 f(x),g(x)f(x),g(x) それぞれの 33 の倍数次の項の係数の総和であることがわかる. (f(x)g(x))=(xx200)((1+x1+xxx2)(xx21+x1+x))9(1+xx)\begin{pmatrix} f(x)\\ g(x)\\ \end{pmatrix}= \begin{pmatrix} x&x^2\\ 0&0\\ \end{pmatrix} \Bigg( \begin{pmatrix} 1+x&1+x\\ x&x^2\\ \end{pmatrix} \begin{pmatrix} x&x^2\\ 1+x&1+x\\ \end{pmatrix} \Bigg)^9 \begin{pmatrix} 1+x\\ x\\ \end{pmatrix} ①と同様に計算すると, (f(1)g(1))=(9×3170)(f(ω)g(ω))=(35+339i20)(f(ω2)g(ω2))=(35339i20) \begin{aligned} \begin{pmatrix} f(1)\\ g(1)\\ \end{pmatrix}& = \begin{pmatrix} 9\times 3^{17}\\ 0\\ \end{pmatrix}\\ \begin{pmatrix} f(\omega)\\ g(\omega)\\ \end{pmatrix}& =\begin{pmatrix} \dfrac{3^5+3\sqrt{3^9}i}{2}\\ 0\\ \end{pmatrix}\\ \begin{pmatrix} f(\omega^2)\\ g(\omega^2)\\ \end{pmatrix}& =\begin{pmatrix} \dfrac{3^5-3\sqrt{3^9}i}{2}\\ 0\\ \end{pmatrix}\\ \end{aligned} したがって, ②の場合求める組の個数は, 9×316+349\times 3^{16}+3^4 である.

以上より, 求める答えは (18×316+34)+(9×316+34)=27×316+2×34.(18\times 3^{16}+3^4)+(9\times 3^{16}+3^4)=27\times 3^{16}+2\times 3^4.