[复习资料]单位根反演学习笔记

单位根反演学习笔记

诺,就是这个式子:

\[[k\mid n]=\frac{1}{k}\sum_{i=0}^{k-1}\omega_k^{in} \]

其中 \(\omega_k\)\(k\) 次单位根。

证明:当 \(k\mid n\) 时, \(\omega_k^n=1\)\(\frac{1}{k}\sum_{i=0}^{k-1}1=1\) ;当 \(k\not\mid n\) 时,根据等比数列求和, \(\frac{1}{k}\sum_{i=0}^{k-1}(\omega_k^n)^i=\frac{1}{k}(1-\omega_k^{nk})/(1-\omega_k)\) ,其中 \(\omega_k^{nk}=1\) ,所以得到的结果就是 \(0\)

好的,学完了。

哦对了,还有一个式子(令 \(F(x)=\sum_{i=0}f_ix^i\) ):

\[\sum_{i=0}[k\mid i]f_i=\sum_{i=0}f_i\frac{1}{k}\sum_{j=0}^{k-1}\omega_k^{ij}\\ =\frac{1}{k}\sum_{j=0}^{k-1}\sum_{i=0}f_i(\omega_k^j)^i\\ =\frac{1}{k}\sum_{j=0}^{k-1}F(\omega_k^j) \]

然后就没有然后了。

哦对了,一些题目比较喜欢考的形式是这样的:

\[\sum_{i=0}^n{n\choose i}A(x)^i[k\mid i]=\sum_{i=0}^n{n\choose i}A(x)^i\frac{1}{k}\sum_{j=0}^{k-1}\omega_k^{ij}\\ =\frac{1}{k}\sum_{j=0}^{k-1}\sum_{i=0}^n{n\choose i}(A(x)\omega_k^j)^i\\ =\frac{1}{k}\sum_{j=0}^{k-1}(A(x)\omega_k^j+1)^n \]

其中的 \(A(x)\) 不仅仅可以是一个数,或者也可以是一个矩阵等等,当然此时后面加的就不是 \(1\) 而是单位元了。

感觉这都变成一个套路了,我总感觉我做的题目都是上面这样类似的。

然后就没有然后了。

LOJ6485 LJJ 学二项式定理

直接推式子啊啊啊:

\[\sum_{i=0}^n{n\choose i}s^ia_{i\bmod 4}=\sum_{i=0}^{3}a_i\sum_{j=0}^n{n\choose j}s^j[4\mid (j-i)]\\ =\sum_{i=0}^3a_i\frac{1}{4}\sum_{j=0}^3(s\omega_4^j+1)^n \]

硬算即可,其中 \(\omega_4=911660635\)

洛谷P5591 小猪佩奇学数学

直接推式子啊啊啊:

\[\sum_{i=0}^n{n\choose i}p^i\lfloor\frac{i}{k}\rfloor=\sum_{i=0}^n{n\choose i}p^i\sum_{j=1}^i[k\mid j]\\ =\sum_{i=0}^n{n\choose i}p^i\sum_{j=1}^i\frac{1}{k}\sum_{t=0}^{k-1}\omega_k^{tj}\\ =\frac{1}{k}\sum_{t=0}^{k-1}\sum_{i=0}^n{n\choose i}p^i\sum_{j=1}^i(\omega_k^{t})^j\\ =\frac{1}{k}(\sum_{i=0}^n{n\choose i}p^ii+\sum_{t=1}^{k-1}\sum_{i=0}^n{n\choose i}p^i\frac{\omega_k^t-\omega_k^{t(i+1)}}{1-\omega_k^t})\\ \frac{1}{k}(\sum_{i=1}^n{n-1\choose i-1}np^i+\sum_{t=1}^{k-1}\frac{\omega_k^t}{1-\omega_k^t}\sum_{i=0}^n{n\choose i}p^i(1-\omega_k^{ti}))\\ =\frac{1}{k}(np(p+1)^{n-1}+\sum_{t=1}^{k-1}\frac{\omega_k^t}{1-\omega_k^t}((p+1)^n-(p\omega_k^t+1)^n)) \]

硬算即可,其中有一步把 \(t=0\) 的情况拆出来是因为公比为 \(1\) 的等比数列求和不能用公式算。

BZOJ3328 PYXFIB

众所周知:

\[F_i=\begin{bmatrix}1&\ 1\end{bmatrix}\times \begin{bmatrix}0&\ 1\\ 1&\ 1 \end{bmatrix}^i\times \begin{bmatrix}1\\ 0\end{bmatrix} \]

令这三个矩阵分别为 \(A,B,C\) ,那么:

\[F_i=A\times B^i\times C \]

直接推式子啊啊啊:

\[\sum_{i=0}^n{n\choose i}F_i[k\mid i]=\sum_{i=0}^n{n\choose i}F_i\frac{1}{k}\sum_{j=0}^{k-1}\omega_k^{ij}\\ =\frac{1}{k}\sum_{j=0}^{k-1}A\times(\sum_{i=0}^n{n\choose i}B^i\omega_k^{ij})\times C\\ =\frac{1}{k}\sum_{j=0}^{k-1}A\times(B\omega_k^j+I)^n\times C \]

(其中 \(I\) 是单位矩阵。)

硬算即可。

UOJ450 【集训队作业2018】复读机

构造 EGF :

\[F(x)=\sum_{i=0}[d\mid i]\frac{x^i}{i!} \]

题目要求的就是:

\[[x^n]F(x)^k \]

直接推式子啊啊啊:

\[F(x)=\sum_{i=0}\frac{x^i}{i!}[d\mid i]\\ =\sum_{i=0}\frac{x^i}{i!}\frac{1}{d}\sum_{j=0}^{d-1}\omega_d^{ij}\\ =\frac{1}{d}\sum_{j=0}^{d-1}\sum_{i=0}\frac{(x\omega_d^j)^i}{i!}\\ =\frac{1}{d}\sum_{j=0}^{d-1}e^{x\omega_d^j} \]

分类讨论啊啊啊:

\[F(x)^k=\begin{cases}e^{kx}&\ d=1\\ (\frac{1}{2}(e^x+e^{-x}))^k=\frac{1}{2^k}\sum_{i=0}^k{k\choose i}e^{x(2i-k)}&\ d=2\\ (\frac{1}{3}(e^{\omega_3^0x}+e^{\omega_3^1x}+e^{\omega_3^2x}))=\frac{1}{3^k}\sum_{a+b+c=k}{k\choose a,b,c}e^{x(a\omega_3^0+b\omega_3^1+c\omega_3^2)} &\ d=3\end{cases} \]

答案分别是:

\[k^n \]

\[\frac{1}{2^k}\sum_{i=0}^k{k\choose i}(2i-k)^n \]

\[\frac{1}{3^k}\sum_{i+j\le k}{k\choose i,j,k-i-j}(i\omega_3^0+j\omega_3^1+(k-i-j)\omega_3^2)^n \]

硬算即可,其中 \(\omega_3=-\frac{1}{2}+\frac{\sqrt{3}}{2}i\) ,在模 \(19491001\) 意义下 \(i=5731711,\sqrt{3}=38991,\omega_3=663067\)

洛谷P5293 [HNOI2019]白兔之舞

方便起见记 \([x,y]W\) 表示矩阵 \(W\)\(x\)\(y\) 列的值。

设题目中给的那个矩阵是 \(W\) ,那么从 \(x\)\(m\) 步跳到 \(y\) 的方案数就是 \([x,y]W^m\) ,设答案为 \(f(1\sim k-1)\) 然后直接枚举跳的步数推式子啊啊啊:

\[f(t)=\sum_{m=0}^L[k\mid (m-t)][x,y]W^m\sum_{l=0}^L{l-1\choose m-1}\\ =\sum_{m=0}^L{L\choose m}[x,y]W^m\frac{1}{k}\sum_{s=0}^{k-1}\omega_k^{s(m-t)}\\ =\frac{1}{k}\sum_{s=0}^{k-1}\omega_k^{-st}\sum_{m=0}^L{L\choose m}[x,y]W^m\omega_k^{sm}\\ =\frac{1}{k}\sum_{s=0}^{k-1}\omega_k^{-st}[x,y](W\omega_k^s+I)^L \]

其中 \(I\) 是单位元,令 \(A(i)=f(i)\times k,B(i)=[x,y](W\omega_k^i+I)^L\) ,那么:

\[A(i)=\sum_{j=0}^{k-1}\omega_k^{-ij}B(j) \]

发现是个长度为 \(k\) 的循环卷积,然后套 Bluestein’s Algorithm 的板子就可以了:

\[A(i)=\sum_{j=0}^{k-1}\omega_k^{{i\choose 2}+{j\choose 2}-{i+j\choose 2}}B(j)\\ =\omega_k^{{i\choose 2}}\sum_{j=0}^{k-1}\omega_k^{-{i+j\choose 2}}B(j)\omega_k^{{j\choose 2}} \]

减法卷积即可。

然后还有就是这道题目要写任意模数的 FFT/NTT 。

posted @ 2021-01-29 16:42  xiaolilsq  阅读(137)  评论(0编辑  收藏  举报