cogs 2355. [HZOI 2015] 有标号的DAG计数 II

题目分析

来自2013年王迪的论文《浅谈容斥原理》

(f_{n,S})表示n个节点,入度为0的点集恰好为S的方案数。

(g_{n,S})表示n个节点,入度为0的点集至少为S的方案数。

对于(g_{n,S}),有递推式

[g_{n,S}=2^{|S|(n-|S|)}g_{n-|S|,emptyset} ]

f与g有如下关系

[g_{n,S}=sum_{Ssubseteq T}f_{n,T} ]

子集反演一下

[f_{n,S}=sum_{Ssubseteq T}(-1)^{|T|-|S|}g_{n,T} ]

我们要求的答案即为

[egin{split} g_{n,emptyset}&=sum_{|S|=1}^nf_{n,S}\ &=sum_{|S|=1}^nsum_{Ssubseteq T}(-1)^{|T|-|S|}g_{n,T}\ &=sum_{|S|=1}^nsum_{Ssubseteq T}(-1)^{|T|-|S|}2^{|T|(n-|T|)}g_{n-|T|,emptyset}\ &=sum_{i=1}^ninom{n}{i}sum_{j=i}^ninom{n-i}{j-i}(-1)^{j-i}2^{j(n-j)}g_{n-j,emptyset}\ &=sum_{j=1}^n2^{j(n-j)}g_{n-j,emptyset}sum_{i=1}^jinom{n}{i}inom{n-j}{j-i}(-1)^{j-i}\ &=sum_{j=1}^n(-1)^jinom{n}{j}2^{j(n-j)}g_{n-j,emptyset}sum_{i=1}^jinom{j}{i}(-1)^i\ &=sum_{j=1}^n(-1)^jinom{n}{j}2^{j(n-j)}g_{n-j,emptyset}(left[j=0 ight]-1)\ &=sum_{j=1}^n(-1)^{j+1}inom{n}{j}2^{j(n-j)}g_{n-j,emptyset}\ &=n!sum_{j=1}^n2^{j(n-j)}frac{(-1)^{j+1}}{j!}frac{g_{n-j,emptyset}}{(n-j)!} end{split} ]

很像一个卷积的形式了,但是怎么搞(2^{j(n-j)})呢?

一个套路

[egin{split} 2^{k(n-k)}&=sqrt{2}^{2kn-2k^2}\ &=sqrt{2}^{-n^2+2kn-k^2-k^2+n^2}\ &=sqrt{2}^{n^2-k^2-(n-k)^2}\ &=frac{sqrt{2}^{n^2}}{sqrt{2}^{k^2}sqrt{2}^{(n-k)^2}} end{split} ]

这样就构造出了卷积形式。

所以

[egin{split} frac{g_{n,emptyset}}{n!sqrt{2}^{n^2}}&=sum_{j=1}^nfrac{(-1)^{j+1}}{j!sqrt{2}^{j^2}}frac{g_{n-j,emptyset}}{(n-j)!sqrt{2}^{(n-j)^2}} end{split} ]

构造生成函数

[F(x)=sum_{i=1}frac{g_{i,emptyset}}{i!sqrt{2}^{i^2}}x^i\ G(x)=sum_{i=1}frac{(-1)^{i+1}}{i!sqrt{2}^{i^2}} ]

[egin{split} F&=F*G+1\ &={1over1-G} end{split} ]

多项式求逆即可。

原文地址:https://www.cnblogs.com/Trrui/p/10051499.html