矩阵树

行列式

定义一个矩阵 \(A\) 的行列式为:

\[det(A)=\sum _ p (-1)^{\mu(p)}\prod A_{i,p_i} \]

其中 \(p\) 是枚举的所有排列,\(\mu\) 是逆序对数

一些性质:

  • \(det(I)=1\)

  • 交换矩阵两行,行列式变号

  • 每一行乘 \(t\),行列式乘 \(t\)

  • \(\begin{vmatrix}a+a' & b+b' \\ c & d\end{vmatrix}\)= \(\begin{vmatrix}a & b \\ c & d\end{vmatrix}\)+ \(\begin{vmatrix}a' & b' \\ c & d\end{vmatrix}\) ,用分配率证明

  • 某两行一样的矩阵行列式为零,因为交换后取反,而本质相同,只能都是零

  • 矩阵一行加上另一行的倍数行列式不变

  • 伴随矩阵是代数余子式构成的矩阵的转置.

  • 伴随矩阵等于逆矩阵乘行列式

因此可以通过矩阵求逆来得到所有的代数余子式


B. B

把一组数看成矩阵 \((i,j)\)\(1\),求解行列式,由于只与奇偶性有关,那么计算式中的 \(-1\) 可以忽略
去掉一个相当于是代数余子式,用逆矩阵来求即可


矩阵树定理

\(A\) 为邻接矩阵,\(D\) 为度数矩阵(出边减入边加),矩阵 \(K=D-A\)\(k\) 任意一个 \(n-1\) 阶主子式的行列式值为图中生成树的个数

对于有向图而言,所求是以 \(1\) 为根的生成树
若度数统计为入边和则为外向树,反之为内向树

证明不会


P4336 [SHOI2016]黑暗前的幻想乡

数据范围小到可以容斥,那么枚举商家集合容斥即可


智商锁

好吧这其实是个诈骗题,矩阵树这个东西还是太复杂了,并没有什么好方法进行构造
那么考虑乱搞,因为生成树的个数时 \(n^{n-2}\) 级别的,那么可以视作随机的数
那么可以随机 \(1000\) 个图,然后选取 \(x\) 个使得它们的乘积满足条件
这个 \(x\) 在折半后可以做到 \(4\),之后这个概率就非常大了


CF917D Stranger Trees

考虑用生成函数来限定这个恰好 \(k\)
那么对于原树的边设为 \(x+1\),求出的最终函数的每一项即为所求
考虑不用多项式的手段,而是转而用拉格朗日插值计算出前 \(n\) 个的矩阵树的值,用求系数的方式插出答案


P6624 [省选联考 2020 A 卷] 作业题

其问题转化为要求所有生成树的边权之和
做法是这样的,将矩阵的每一个点都变成 \(ax+b\) 的形式,初始化为 \(w_ix+1\) 的形式
最后 \(x\) 项的系数就是答案
这样做的原因其实也很好理解,其实就是计算每一条边选择时的方案数 \(\times\) 边权
那么一次项一定是某一个边权再乘上其它所有的方案得来的

posted @ 2022-08-26 19:52  y_cx  阅读(73)  评论(0编辑  收藏  举报