图的计数学习笔记
图的计数
\(~~~~\) 终于还是到了最不会的数数。
\(~~~~\) 规定一些下文用到的词语:
\(~~~~\) 有标号: 即每个点之间互异,连边方案中若两幅图存在一个点对在一个方案中连了边而在另一个方案中没有则这两个方案不同。
\(~~~~\) 偶度: 即该图中每个点的度数为偶。
一、有标号无向图个数
\(~~~~\) 每条边都有选和不选两种情况,由于无向图,共有 \(\begin{pmatrix}n\\2\end{pmatrix}=\dfrac{n\times (n-1)}{2}\) 条边,所以答案为:\(2^{\frac{n\times(n-1)}{2}}\)。
二、有标号无向连通图个数
\(~~~~\) 设 \(f_n\) 表示 \(n\) 个点的带编号无向连通图个数,\(g_n\) 表示 \(n\) 个点的带编号无向图个数。
\(~~~~\) 我们试着用含有 \(f\) 的式子来表示 \(g\) ,很不难想到枚举 \(1\) 号点所在连通块的点数,设当前枚举的大小为 \(i\) ,这样的话有 \(\begin{pmatrix}n-1\\i-1\end{pmatrix}\) 的方案选点,同时连边方案为 \(f_i\) ,其余的点随便连,就有 \(g_{n-i}\) 种方案。
\(~~~~\) 这些加起来,我们得到的就是 \(n\) 个点的带编号无向图个数,也就是 \(g_n\) 。因此:
\(~~~~\) 移项:
\(~~~~\) 过后 \(\mathcal{O(n^2)}\) 计算即可。
\(~~~~\) 当然还有更快的办法。
\(~~~~\) 第一个式子用生成函数的套路直接化:
\(~~~~\) 套路地想到常数移左边,右边化卷积:
\(~~~~\) 一个套路的卷积形式,那就定义 \(F(x)=\sum_{i=1}^n \dfrac{f_i}{(i-1)!}x^i\),\(G(x)=\sum_{i=1}^n \dfrac{g_{n-i}}{(n-i)!}x^i\) ,\(H(x)=\sum_{i=1}^n \dfrac{g_i}{(i-1)!}x^i\),显然由上式:\(H(x)=F(x)*G(x)\) ,那 \(F(x)=H(x)*G^{-1}(x)\) ,\(G,H\) 都是已知的,多项式求逆直接上就做完了。
\(~~~~\) 这样就是大常数 \(\mathcal{O(n \log n)}\) .
\(~~~~\) 其实就是这题。
三、有标号无向偶度图个数
\(~~~~\) 我们从一种类似于构造的角度看,前 \(n-1\) 个点随便连,即 \(n-1\) 个点的无向图连边方案,然后来考虑用第 \(n\) 个点来调节前面的奇度点。那么我们就只需要考虑 \(n\) 是否合法。
\(~~~~\) 每条无向边对整个图的贡献为偶,总度数为偶,则奇度点的个数必定为偶(用奇偶性分析一下就行)。因此第 \(n\) 个点有唯一的连边方案。
\(~~~~\) 故总的方案为:
四、有标号无向偶度连通图个数
\(~~~~\) 类似地,设 \(f_n\) 表示 \(n\) 个点的带编号无向连通偶度图个数,\(g_n\) 表示 \(n\) 个点的带编号无向偶度图个数。
\(~~~~\) 然后还是用刚刚的推法,得到:
例题没找到,先留个坑吧