數論 二項式反演 CF1228E題解
阿新 • • 發佈:2022-01-10
設 \(f_{i,j}\) 為恰好 \(i\) 行 \(j\) 列不滿足條件的矩陣個數, \(g_{i,j}\) 為欽定 \(i\) 行 \(j\) 列不滿足條件的矩陣個數。
容易得到:
\[g_{x,y}=\binom n x \binom n y (k-1)^{n^2-(n-x)(n-y)}k^{(n-x)(n-y)} \]\[g_{x,y}=\sum_{i=x}^n\sum_{j=y}^n\binom i x\binom j y f_{i,j} \]根據二元二項式反演有:
\[f_{x,y}=\sum_{i=x}^n\sum_{j=y}^n\binom i x\binom j y(-1)^{i+j-x-y}g_{i,j} \]我們要求的是 \(f_{0,0}\)
為了方便,以下設 \(a=\frac {k-1} k\)
做法1
有 \(ij=\binom {i+j} 2-\binom i 2-\binom j 2\),所以:
\[k^{n^2}\sum_{i=0}^n\sum_{j=0}^n\binom n i\binom n j(-1)^{i+j}a^{ni+nj-\binom {i+j} 2+\binom i 2+\binom j 2} \]\[k^{n^2}n!^2\sum_{i=0}^n\sum_{j=0}^n\frac 1 {i!(n-i)!}\frac 1 {j!(n-j)!}(-1)^{i+j}a^{ni+nj-\binom {i+j} 2+\binom i 2+\binom j 2} \]設:
\[F_i=\frac {(-1)^ia^{ni+\binom i 2}} {i!(n-i)!} \]\[G_x=\sum_{i=0}^xF_i \times F_{x-i} \]答案即為:
然後我們有 \(a^{\binom n 2}= \prod_{i=1}^{n-1}a^i\),可以線性遞推 \(a^{ni}\) 和 \(a^{\binom i 2}\)。
使用 MTT 計算 \(G\) 即可 \(O(\log mod+n\log n)\) 計算答案。
做法2
\[k^{n^2}\sum_{i=0}^n\sum_{j=0}^n\binom n i\binom n j(-1)^{i+j}a^{ni+(n-i)j} \]\[k^{n^2}\sum_{i=0}^n\binom n i(-1)^ia^{ni}\sum_{j=0}^n\binom n j(-1)^ja^{(n-i)j} \]\[k^{n^2}\sum_{i=0}^n\binom n i(-1)^ia^{ni}(1-a^{n-i})^n \]\[k^{n^2}\sum_{i=0}^n\binom n i(-1)^i(a^i-a^n)^n \]預處理 \(a^1 \sim a^n\) 即可 \(O(n\log n+\log mod)\)。