[学习笔记] 矩阵树定理
作者:互联网
因为在临时抱佛脚,所以是没有证明的~
0. 前置芝士
0.1. 拉普拉斯展开
对于行列式 \(D\),任意第 \(i\) 行(列同理)按下式展开的值与行列式值相等
\[\text{Value}=\sum_{j=1}^n (-1)^{i+j}\cdot a_{i,j}\cdot M_{i,j} \]其中 \(M_{i,j}\) 是 \(a_{i,j}\) 的余子式。
一些闲话:这个可以用来推导 "轮状病毒" 一题中的递推式。
1. 矩阵树定理
1.1. 定理一
1.1.1. 内容
构造连通矩阵和度数矩阵。连通矩阵 \(A\) 的第 \(i\) 行第 \(j\) 列上的数字表示原无向图中 \(i,j\) 两点之间边的条数。度数矩阵 \(D\) 只有 \(D_{i,i}\) 有值表示点 \(i\) 的度数。定义 \(L=D-A\),无向图生成树的个数就是 \(L\) 去掉任意行任意列的矩阵的行列式。
1.1.2. 应用
例 1.
求无向图所有生成树边权乘积的和。
将度数矩阵变成与点邻接边的边权和,连通矩阵变成边的权值再应用矩阵树定理即可。
例 2.
求无向图必选某一条边的所有生成树个数。
我是伞兵,这都不会。简单容斥即可。
例 3.
用生成函数描述限制:\(\rm Link.\)
例 4.
\(\text{[SDOI 2014] }\)重建
题目要求
\[\begin{align} \text{Ans}&=\sum_{T(V,E')}\left(\prod_{e\in E'}p_e\cdot \prod_{e\in E\setminus E'}(1-p_e) \right)\\ &=\sum_{T(V,E')}\left(\prod_{e\in E'}p_e\cdot \frac{\prod_{e\in E}(1-p_e)}{\prod_{e\in E'}(1-p_e)} \right)\\\ &=\prod_{e\in E}(1-p_e)\cdot \sum_{T(V,E')}\left(\prod_{e\in E'}\frac{p_e}{1-p_e} \right) \end{align} \]1.2. 定理二
1.2.1. 内容
给出有向图和其中的一个点,求以这个点为根的生成外向树个数(外向树满足每个点有且仅有一条入边)。
构造连通矩阵和度数矩阵。连通矩阵 \(A\) 的第 \(i\) 行第 \(j\) 列上的数字表示有向图中 \(i\rightarrow j\) 的边的条数。度数矩阵 \(D\) 只有 \(D_{i,i}\) 有值表示点 \(i\) 的 入度。定义 \(L=D-A\),答案就是 \(L\) 去掉根所在的行和列的矩阵的行列式。
1.3. 定理三
1.3.1. 内容
给出有向图和其中的一个点,求以这个点为根的生成内向树个数。
构造连通矩阵和度数矩阵。连通矩阵 \(A\) 的第 \(i\) 行第 \(j\) 列上的数字表示有向图中 \(i\rightarrow j\) 的边的条数。度数矩阵 \(D\) 只有 \(D_{i,i}\) 有值表示点 \(i\) 的 出度。定义 \(L=D-A\),答案就是 \(L\) 去掉根所在的行和列的矩阵的行列式。
标签:度数,连通,cdot,定理,矩阵,笔记,行列式,prod 来源: https://www.cnblogs.com/AWhiteWall/p/14404119.html