[NFLSOJ529]打卡任務

[NFLSOJ529]打卡任務

題面

NFLSOJ

題解

列出二元生成函數的式子,那麼答案爲\([x^ky^m](\prod_{i=1}^n(1+x^iy))\bmod (x^n-1)\)
循環卷積考慮帶入單位根進行運算,也就是先帶入 DFT 矩陣求出點值最後再帶 IDFT 矩陣把係數弄回來,有:

\[\begin{aligned} [x^ky^m][x^ky^m](\prod_{i=1}^n(1+x^iy))\bmod (x^n-1)=[y^m]\frac 1n\sum_{j=0}^{n-1}\omega_{n}^{-jk}\prod_{i=0}^{n-1}(1+\omega_{n}^{ij}y) \end{aligned} \]

\(\gcd(n,j)=d\)提出來,那麼僅有\(\omega_{n}^0,\omega_{n}^d...\omega_{n}^{(n-1)d}\)會算到貢獻,我們可以將上下同除\(d\),那麼進一步可得

\[\begin{aligned} \ [y^m]\frac 1n\sum_{j=0}^{n-1}\omega_{n}^{-jk}\prod_{i=0}^{n-1}(1+\omega_{n}^{ij}y)&=[y^m]\frac 1n\sum_{j=0}^{n-1}\omega_{n}^{-jk}\prod_{i=0}^{\frac nd-1}(1+\omega_{\frac nd}^{i}y)^d\\ &=[y^m]\frac 1n\sum_{d|n}\prod_{i=0}^{\frac nd-1}(1+\omega_{\frac nd}^{i}y)^d\sum_{j=0}^{n-1}[\gcd(n,j)=d]\omega_{n}^{-jk} \end{aligned} \]

對於後面一部分莫比烏斯反演:

\[\begin{aligned} \sum_{j=0}^{n-1}[\gcd(n,j)=d]\omega_{n}^{-jk}&=\sum_{j=0}^{\frac nd-1}[\frac nd\perp j]\omega_{\frac nd}^{-jk}\\ &=\sum_{j=0}^{\frac nd-1}\sum_{e|\frac nd,e|j}\mu(e)\omega_{\frac nd}^{-jk}\\ &=\sum_{e|\frac nd}\mu(e)\sum_{j=0}^{\frac n{de}-1}\omega_{\frac n{de}}^{-jk}\\ &=\sum_{e|\frac nd}\mu(e)[\frac n{de}|k]\frac n{de} \end{aligned} \]

對於前面的式子\(\prod_{i=0}^{\frac nd-1}(1+\omega_{\frac nd}^{i}y)^d\),我們可以尋找\(\prod_{i=0}^{\frac nd-1}(1+\omega_{\frac nd}^{i}y)\)的性質。
注意到對於兩個多項式如果他們的根相同而且存在一項的係數相等,那麼他們相等,注意到\(y^n-1\)的根爲\(\omega_n^0,\omega_n^1...\omega_n^{n-1}\),而我們後面式子的根爲\(-\omega_{\frac nd}^0,-\omega_{\frac nd}^1...-\omega_{\frac nd}^{\frac nd-1}\),構造一個多項式\(1+(-1)^{\frac nd+1}y^{\frac nd}\)與它的根相同且常數項相同,可以將原多項式寫成此多項式。
那麼現在原式化爲

\[\begin{aligned} &[y^m]\frac 1n\sum_{d|n}\prod_{i=0}^{\frac nd-1}(1+\omega_{\frac nd}^{i}y)^d\sum_{j=0}^{n-1}[\gcd(n,j)=d]\omega_{n}^{-jk}\\ =&\frac 1n\sum_{d|n}\left([y^m](1+(-1)^{\frac nd+1}y^{\frac nd})^n\right)\left(\sum_{e|\frac nd}\mu(e)[\frac n{de}|k]\frac n{de}\right)\\ =&\frac 1n\sum_{d|n}\left({d\choose\frac m{d/d}}(-1)^{(\frac nd+1)\frac m{n/d}}\right)\left(\sum_{e|\frac nd}\mu(e)[\frac n{de}|k]\frac n{de}\right) \end{aligned} \]

前面的組合數可以通過階乘分段打表得到,而後面那一部分相當於將每個因子分爲三份,時間上均可以承受。

代碼

這裏

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章