前置芝士——行列式
正题
这个定理用来解决这样一个问题:一张无向图有多少个不同的生成树。
首先需要构造这样一个矩阵:设这个矩阵为 ,当 时, 的值为 与 之间的边数的相反数,当 时, 的值为 的度数。
比如有这样一张图(没错有重边也没问题的,但是自环要去掉):
那么矩阵就长这样:
我们随便去掉其中一个点的影响,即删掉矩阵中的某个第 行第 列,得到一个新的矩阵,然后这个矩阵的行列式就是生成树数量。
证明?我当然不会qwq 这种东西记个结论就好啦~
但是如果暴力求行列式,时间肯定爆炸,于是我们先将它转化为上三角矩阵,然后将主对角线上的元素乘起来就好啦!(具体见上面的有关行列式的博客)