1. 程式人生 > 其它 >數論 二項式反演 CF1228E題解

數論 二項式反演 CF1228E題解

\(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}\)

,也就是:

\[\sum_{i=0}^n\sum_{j=0}^n\binom i 0\binom j 0\binom n i\binom n j(-1)^{i+j}(k-1)^{n^2-(n-i)(n-j)}k^{(n-i)(n-j)} \]\[\sum_{i=0}^n\sum_{j=0}^n\binom n i\binom n j(-1)^{i+j}(k-1)^{n^2-n^2+ni+nj-ij}k^{n^2-ni-nj+ij} \]\[k^{n^2}\sum_{i=0}^n\sum_{j=0}^n\binom n i\binom n j(-1)^{i+j}(\frac {k-1} k)^{ni+nj-ij} \]

為了方便,以下設 \(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} \]

答案即為:

\[k^{n^2}n!^2\sum_{i=0}^{2n}G_i \times a^{-\binom i 2} \]

然後我們有 \(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)\)