学习笔记矩阵树定理(Matrix-Tree)

Posted 繁凡さん

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习笔记矩阵树定理(Matrix-Tree)相关的知识,希望对你有一定的参考价值。

整理的算法模板合集: ACM模板

点我看算法全家桶系列!!!

实际上是一个全新的精炼模板整合计划


一、矩阵树定理

对于无向图 G G G

定义 G G G度数矩阵 D D D 满足:

d i j = { deg ⁡ i i = j 0 i ≠ j d_{i j}=\\left\\{\\begin{array}{rl}\\operatorname{deg}_{i} & i=j \\\\0 & i \\neq j\\end{array}\\right. dij={degi0i=ji=j

即:矩阵 D D D 是除了对角线以外各个点值都为 0 0 0 的矩阵,D[i][i] 表示 i i i 号点的度数。

定义 G G G邻接矩阵 C C C 满足:

c i j = { 0 i = j adj i j i ≠ j c_{i j}=\\left\\{\\begin{array}{rl}0 & i=j \\\\\\text{adj}_{i j} & i \\neq j\\end{array}\\right. cij={0adjiji=ji=j

即:矩阵 C C C 记录两点之间的度数,C[i][j] 表示 i i i 号点与 j j j 号点之间的边数

定义 G G G 的基尔霍夫矩阵 L ( G ) = D − C L(G)=D-C L(G)=DC, 则图 G G G生成树数量 L ( G ) L(G) L(G) 的任意一个代数余子式。

矩阵树定理完整证明(包括下面的常用定理证明):https://www.luogu.com.cn/blog/juruodewo/solution-p6178

二、常用定理

定理 1(矩阵树定理,无向图行列式形式) 对于任意的 i i i,都有

t ( G ) = det ⁡ L ( G ) ( 1 , 2 , ⋯   , i − 1 , i + 1 , ⋯   , n 1 , 2 , ⋯   , i − 1 , i + 1 , ⋯   , n ) t(G) = \\det L(G)\\binom{1,2,\\cdots,i-1,i+1,\\cdots,n}{1,2,\\cdots,i-1,i+1,\\cdots,n} t(G)=detL(G)(1,2,,i1,i+1,,n1,2,,i1,i+1,,n)

其中记号 L ( G ) ( 1 , 2 , ⋯   , i − 1 , i + 1 , ⋯   , n 1 , 2 , ⋯   , i − 1 , i + 1 , ⋯   , n ) \\displaystyle L(G)\\binom{1,2,\\cdots,i-1,i+1,\\cdots,n}{1,2,\\cdots,i-1,i+1,\\cdots,n} L(G)(1,2,,i1,i+1,,n1,2,,i1,i+1,,n) 表示矩阵 L ( G ) L(G) L(G) 的第 1 , ⋯   , i − 1 , i + 1 , ⋯   , n 1,\\cdots,i-1,i+1,\\cdots,n 1,,i1,i+1,,n 行与第 1 , ⋯   , i − 1 , i + 1 , ⋯   , n 1,\\cdots,i-1,i+1,\\cdots,n 1,,i1,i+1,,n 列构成的子矩阵。也就是说,无向图的 Laplace 矩阵具有这样的性质,它的所有 n − 1 n-1 n1 阶主子式都相等。

定理 2(矩阵树定理,无向图特征值形式) λ 1 , λ 2 , ⋯   , λ n − 1 \\lambda_1, \\lambda_2, \\cdots, \\lambda_{n-1} λ1,λ2,,λn1 L ( G ) L(G) L(G) n − 1 n - 1 n1 个非零特征值,那么有

t ( G ) = 1 n λ 1 λ 2 ⋯ λ n − 1 t(G) = \\frac{1}{n}\\lambda_1\\lambda_2\\cdots\\lambda_{n-1} t(G)=n1λ1λ2λn1

定理 3(矩阵树定理,有向图根向形式) 对于任意的 k k k,都有

t r o o t ( G , k ) = det ⁡ L o u t ( G ) ( 1 , 2 , ⋯   , k − 1 , k + 1 , ⋯   , n 1 , 2 , ⋯   , k − 1 , k + 1 , ⋯   , n ) t^{root}(G,k) = \\det L^{out}(G)\\binom{1,2,\\cdots,k-1,k+1,\\cdots,n}{1,2,\\cdots,k-1,k+1,\\cdots,n} troot(G,k)=detLout(G)(1,2,,k1,k+1,,n1,2,,k1,k+1,,n)

因此如果要统计一张图所有的根向树形图,只要枚举所有的根 k k k 并对 t r o o t ( G , k ) t^{root}(G,k) troot(G,k) 求和即可。

定理 4(矩阵树定理,有向图叶向形式) 对于任意的 k k k,都有

t l e a f ( G , k ) = det ⁡ L i n ( G ) ( 1 , 2 , ⋯   , k − 1 , k + 1 , ⋯   , n 1 , 2 , ⋯   , k − 1 , k + 1 , ⋯   , n ) t^{leaf}(G,k) = \\det L^{in}(G)\\binom{1,2,\\cdots,k-1,k+1,\\cdots,n}{1,2,\\cdots,k-1,k+1,\\cdots,n} tleaf(G,k)=detLin(G)(1,2,,k1,k+1,,n1,2,Matrix-Tree 定理(基尔霍夫矩阵树定理)

矩阵树Matrix-Tree定理与行列式

spoj 104 Highways(Matrix-tree定理)

Matrix-Tree定理题表(已完成(ojbk))

$Matrix-Tree$定理-题目

BZOJ 4031: [HEOI2015]小Z的房间 Matrix-Tree定理