2023牛客暑期多校训练营8 B Bloodline Counter 指数型生成函数 容斥 多项式求逆

发布时间 2023-11-01 21:59:13作者: chdy

传送门

容易想到求出竞赛图上最大环\(\le k\)的数量,再求出\(\le k-1\)的数量作差即可得到答案。

设指数型生成函数\(G(x)\)表示大小为\(i\)的环的方案数。

\(G(x)=\sum_{i=1}^k\frac{a_i}{i!}x^i\)

那么最大环\(\le k\)的数量\(=[x^n]n!\sum_{i=1}^k i!\frac{(G(x))^i}{i!}\)

这里是枚举整张图的环的个数\(i\),由于会有重复的方案所以要除以\(i!\),又为了固定这\(i\)环之间的拓扑关系所以还需要乘以\(i!\)

\(\sum (G(x))^i=\frac{G(x)-(G(x))^{k+1}}{1-G(x)}=\frac{G(x)}{1-G(x)}\)

问题的关键是求\(G(x)\)

设竞赛图的指数型生成函数为\(F(x)=\sum_{i=1}^{n}2^{C(i,2)}\frac{x^i}{i!}\)

\(G(x)=\sum_{i=1}^n(-1)^{i-1}i!\frac{F(x)}{i!}=\frac{F(x)}{1+F(x)}\)