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)xj1xF(x)=F(x)+F(x)j=1F(xj)xjG(x)=j=1F(xj)xj=i=1gixiF(x)=i=1ifixi1F(xj)xj=i=1ifixj(i1)xj=i=1ifixiji=1gixi=i=1ifixijgn=dndfdxF(x)=F(x)+F(x)G(x)xF(x)=i=1ifixinfn=fn+k=1n1fkgnkfn=1n1i=1n1figni\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,每颗树只有一个重心,那么把根当做重心,即为所有的无根树
fni=n+12fifnif_{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)Ni(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=0Nj=0M(1)Ni(1)Mj(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=0Nj=0M(1)Ni(Ni)(1)Mj(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)Ni(Ni)j=0M(1)Mj(Mj)((1+x)i)j=i=0N(1)Ni(Ni)((1+x)i1)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}

我们有(ex1)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)Ni(Ni)(eit1)M=i=0N(1)Ni(Ni)j=0M(1)Mj(Mj)eijt=y=0tyy!i=0N(1)Niiy(Ni)j=0M(1)Mjjy(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}