matrix-tree 简记

仅证明根向有根树的情况, 其他情况易于推广

考虑一个类似子集容斥的思路,

\(cir(x)\) 表示钦定 \(x\) 个圈的方案数 .(保证除了根每个点均有一条出边)

所求(的生成树个数)即为 \(\sum\limits_{i=0}^{n}(-1)^{i}cir(i)\).

下面证明(去掉根行根列后) \(|out(D)-A|\) 即为所求

其中 \(A\) 是原图的邻接矩阵, \(out(D)\) 是原图的出度矩阵.

\(out(D)\) 满足 \(D_{i,i}\) 为从 \(i\) 点出发的所有边边权之和, 其余位置为 \(0\) .

首先根必不会向任何点连边, 因此直接去掉 .

根据行列式的定义(全排列定义)

\(\det(M)=\sum\limits_{p,p\ is\ perm}(-1)^{\pi(p)}\prod M_{i,p_i}\)

其中 \(\pi(p)\) 表示排列 \(p\) 的逆序对数

考察一个排列 \(i,p_i\)

对于每个点 \(i\), 若 \(i=p_i\), 不妨认为它向任意点连边 .(由 \(out(D)\))

否则不妨认为 \(i\)\(p_i\) 连边 .(由 \(-A\), 注意这里的符号)

\(i\neq p_i\) 的点必然构成若干环 .

考虑此时的贡献, 若环长为 \(k\) .

对于每个奇环考虑 \(-A\) 的符号带来的 \((-1)^k\), 因此其具有 \(-1\) 的系数 .

对于每个偶环考虑 \((-1)^{\pi(p)}\), 因此其具有 \(-1\) 的系数 .

(逆序对的奇偶性 \(=\) \(n\) - 置换环个数 \(=\) 偶环数的奇偶性)

故满足 \(cir(x)\) 的要求, 命题得证 .

posted @ 2025-08-01 23:39  QedDust  阅读(19)  评论(0)    收藏  举报