261 words
1 minute
组合数学

P5900 无标号无根树计数 无根树计数比较困难,我们考虑fif_i表示ii个点的有根树的个数
F(x)=∑i=1fixiF(x)=\sum_{i=1}f_ix^i
那么,根据EulerEuler变换
F(x)=xε(F(x))F(x)=x\varepsilon(F(x))

F(x)=xε(F(x))F′(x)=(xexp⁡(∑j=1F(xj)j))′=exp⁡(∑j=1F(xj)j)+xexp⁡(∑j=1F(xj)j)∑j=1F′(xj)xj−1xF′(x)=F(x)+F(x)∑j=1F′(xj)xjG(x)=∑j=1F′(xj)xj=∑i=1gixiF′(x)=∑i=1ifixi−1F′(xj)xj=∑i=1ifixj(i−1)xj=∑i=1ifixij∑i=1gixi=∑i=1ifixijgn=∑d∣ndfdxF′(x)=F(x)+F(x)G(x)xF′(x)=∑i=1ifixinfn=fn+∑k=1n−1fkgn−kfn=1n−1∑i=1n−1fign−i\begin{align} F(x)&=x\varepsilon(F(x))\\ F'(x)&=(x\exp(\sum_{j=1}\frac{F(x^j)}{j}))'\\ &=\exp(\sum_{j=1}\frac{F(x^j)}{j})+x\exp(\sum_{j=1}\frac{F(x^j)}{j})\sum_{j=1}F'(x^{j})x^{j-1}\\ xF'(x)&=F(x)+F(x)\sum_{j=1}F'(x^{j})x^{j}\\ G(x)&=\sum_{j=1}F'(x^{j})x^{j}=\sum_{i=1}g_ix^i\\ F'(x)&=\sum_{i=1}if_ix^{i-1}\\ F'(x^j)x^j&=\sum_{i=1}if_ix^{j(i-1)}x^j=\sum_{i=1}if_ix^{ij}\\ \sum_{i=1}g_ix^i&=\sum_{i=1}if_ix^{ij}\\ g_n&=\sum_{d\mid n}df_d\\ xF'(x)&=F(x)+F(x)G(x)\\ xF'(x)&=\sum_{i=1}if_ix^{i}\\ nf_{n}&=f_n+\sum_{k=1}^{n-1}f_kg_{n-k}\\ f_n&=\frac{1}{n-1}\sum_{i=1}^{n-1}f_ig_{n-i}\\ \end{align}

可以分治FFTFFT解决求出fif_i
考虑如何计算无根树的个数
对于奇数的nn,每颗树只有一个重心,那么把根当做重心,即为所有的无根树
fn−∑i=n+12fifn−if_{n}-\sum_{i=\frac{n+1}{2}}f_if_{n-i}
对于偶数的nn,可能存在两个重心,还需减掉(fn22)\binom{f_{\frac{n}{2}}}{2}
如果两个大小为n2\frac{n}{2},同构,则只会被计算一次,如果不同构,则会被计算两次
P3784 [SDOI2017] 遗忘的集合

E:E: 所求为每行每列至少有1个 若没有列的限制,要求每行非空,由容斥原理知: S=∑i=0N(−1)N−i(Ni)Ai,Ai=(i×MK)S=\sum_{i=0}^{N}(-1)^{N-i}\binom{N}{i}A_i,A_i=\binom{i\times M}{K} 对至少有ii行非空进行容斥 考虑列的限制,即为: S=∑i=0N∑j=0M(−1)N−i(−1)M−j(Ni)(Mj)(ijK)S=\sum_{i=0}^{N}\sum_{j=0}^{M}(-1)^{N-i}(-1)^{M-j}\binom{N}{i}\binom{M}{j}\binom{ij}{K} 考虑生成函数: F(x)=∑i=0N∑j=0M(−1)N−i(Ni)(−1)M−j(Mj)(1+x)ijF(x)=\sum_{i=0}^{N}\sum_{j=0}^{M}(-1)^{N-i}\binom{N}{i}(-1)^{M-j}\binom{M}{j}(1+x)^{ij} 则S=[xK]F(x)S=[x^{K}]F(x)

F(x)=∑i=0N(−1)N−i(Ni)∑j=0M(−1)M−j(Mj)((1+x)i)j=∑i=0N(−1)N−i(Ni)((1+x)i−1)M\begin{aligned} F(x)&=\sum_{i=0}^{N}(-1)^{N-i}\binom{N}{i}\sum_{j=0}^{M}(-1)^{M-j}\binom{M}{j}((1+x)^i)^j\\ &=\sum_{i=0}^{N}(-1)^{N-i}\binom{N}{i}((1+x)^i-1)^M\\ \end{aligned}

我们有(ex−1)n=n!∑i=N{iN}xii!(e^x-1)^n=n!\sum_{i=N}{i \brace N}\frac{x^i}{i!} 令t=ln⁡(1+x)t=\ln(1+x)

F(x)=∑i=0N(−1)N−i(Ni)(eit−1)M=∑i=0N(−1)N−i(Ni)∑j=0M(−1)M−j(Mj)eijt=∑y=0tyy!∑i=0N(−1)N−iiy(Ni)∑j=0M(−1)M−jjy(Mj)=∑y=0ln⁡(1+x)yy!N!{yN}M!{yM}\begin{aligned} F(x)&=\sum_{i=0}^{N}(-1)^{N-i}\binom{N}{i}(e^{it}-1)^M\\ &=\sum_{i=0}^{N}(-1)^{N-i}\binom{N}{i}\sum_{j=0}^{M}(-1)^{M-j}\binom{M}{j}e^{ijt}\\ &=\sum_{y=0}\frac{t^y}{y!}\sum_{i=0}^{N}(-1)^{N-i}i^y\binom{N}{i}\sum_{j=0}^{M}(-1)^{M-j}j^y\binom{M}{j}\\ &=\sum_{y=0}\frac{\ln(1+x)^y}{y!}N!{y \brace N}M!{y \brace M}\\ \end{aligned}

由ln⁡(1+x)yy!=∑n=y[ny]xnn!\frac{\ln(1+x)^y}{y!}=\sum_{n=y}{n \brack y}\frac{x^n}{n!} [xK]=∑y=max⁡(N,M)KM!N!{yN}{yN}[Ky][x^K]=\sum_{y=\max(N,M)}^KM!N!{y\brace N}{y\brace N}{K\brack y}