图计数

1.无向连通图
任意图取ln即可

2.欧拉回路图
偶数度图取ln即可,偶数度图方案数为\(2^{C(n-1,2)}\)。(考虑先生成一张\(n-1\)个点的任意图,然后第\(n\)个点和前\(n-1\)个点的连边方案是确定的。)

3.连通生成子图
阿巴阿巴

4.DAG
容斥计算有\(k\)\(0\)度点。
写出式子

\[f_n=\sum_{i=1}^n (-1)^{i-1}*C_{n}^{i}*2^{i*(n-i)}*f_{n-i} \]

发现有一个\(2^{i*(n-i)}\)比较难处理
考虑

\[i*(n-i)=C_{n}^{2}-C_{i}^{2}-C_{n-i}^{2} \]

直接转求逆即可
5.弱联通图DAG
对DAG取ln即可

6.强联通计数

答案:\(f_n\)
任意有向图:\(h_n\)
考虑用\(h_n\)减掉不合法的方案来计算
对于不合法的方案。
尝试枚举缩点后\(DAG\)中度数为\(0\)的强联通分量。
注意这里要枚举两个东西
第一要枚举原图有多少个点在缩点后成为了\(DAG\)中度数为\(0\)的强联通分量,设为\(k\)
第二要枚举一共形成了多少个强联通分量,设为\(i\)
为了保证这个图不是恰好一个强联通分量,我们令\(k\)的上界为\(n-1\)就可以了。
于是可以写出下式

分治ntt即可。

7.哈密顿路径计数(卡空间)

8.边双连通图计数
容斥割边的数量
然后套用基于prufer序列的\(n\)个点\(m\)个连通块连边形成一棵树的公式
可以写出一个多项式\(g_i=-n*i*h_i*x^i\)
其中\(h_i\)为连通图的数量
\(g_i\)\(exp\)
\(ans=-\frac{f_n*n!}{n^2}\)

9.点双连通图计数
阿巴阿巴

10.二分图计数

\(F\):二分染色图计数

\[f_n=\sum_{i=0}^n C_n^{i}*2^{i*(n-i)} \]

一遍多项式乘法即可

\(G\):连通二分图计数

\[F=\sum \frac{2^i*G^i}{i!}=e^{2G} \\ G=lnH=\frac{1}{2}lnF \]

\(H\):二分图计数

\[H=e^G=\sqrt F \]

posted @ 2021-12-13 06:37  Creed-qwq  阅读(57)  评论(0编辑  收藏  举报