首页 > 其他分享 >矩阵树定理

矩阵树定理

时间:2023-02-14 18:33:45浏览次数:38  
标签:limits 定理 矩阵 生成 cases sum

没有证明,快逃。

概念

矩阵树定理,用于一类图论问题的生成树计数。

通常给出一个有向图或无向图,需要求出图中的 内向生成树 / 外向生成树 / 生成树的 个数 / 权值乘积之和等。

这类问题可以通过矩阵树定理转化成行列式求值。

时间复杂度 \(O(n^3)\).

内容

以无向图为例。

令 \(D\) 为无向图的度数矩阵,\(D[i][j] = \begin{cases} \operatorname{deg(i)}, &i = j \\ 0, &i \neq j \end{cases}\).

令 \(A\) 为无向图的邻接矩阵,\(A[i][j] = \sum\limits_{(u, v) \in E} [u = i, v = j]\).

则该无向图的基尔霍夫(Kirchoff)矩阵为 \(D - A\).

矩阵树定理:该无向图以 \(r\) 为根的生成树个数 等价于 基尔霍夫矩阵去掉第 \(r\) 行第 \(r\) 列得到的行列式的值。

具体证明不会,懒得学了,可能也学不会。

对于有向图:

  • 求外向生成树个数:令 \(D\) 为入度矩阵。

  • 求内向生成树个数:令 \(D\) 为出度矩阵。


变式:定义生成树的权值为其中所有边权的乘积,求图中所有生成树的权值之和。

实际上矩阵树定理等价于求 \(\sum\limits_{T} \prod\limits_{(u, v) \in T} w(u, v)\).

所以只需要令 \(D[i][j] = \begin{cases} \sum\limits_{(i, k) \in G} w(i, k), &i = j \\ 0, &i \neq j \end{cases}\).

令 \(A[i][j] = \sum\limits_{(i, j) \in G} w(i, j)\).

这样就可以直接套用矩阵树定理求了。

模数不为 \(0\) 的时候直接辗转相除求,时间复杂度是 \(O(n^2 (n + \log n))\),可能略微卡常。

标签:limits,定理,矩阵,生成,cases,sum
From: https://www.cnblogs.com/lingspace/p/ju-zhen-shu-ding-li.html

相关文章

  • 玩转矩阵
    玩转矩阵简介:输入一个整数n,写一个n*n的矩阵,输出矩阵的环形矩阵,顺时针矩阵,逆时针矩阵。输入:n;输出:三个矩阵;样例输入;4样例输出;环形矩阵:123412131451......
  • 矩阵 — 点乘与叉乘
    点乘基本概念简而言之就是矩阵各对应元素相乘。需满足乘数矩阵和被乘数矩阵的行向量或列向量相等,或两者同时相等。数学公式S1矩阵尺寸不完全相同\[C=AB=\begin{b......
  • 756. 蛇形矩阵
    好久没写算法题了,先写个语法题练练手https://www.acwing.com/problem/content/description/758/#include<iostream>usingnamespacestd;constintN=105;intmap[N......
  • 裴蜀定理与扩展欧几里得
    裴蜀定理与扩展欧几里得裴蜀定理定理对于任意整数\(a,b\),设\(d=\gcd(a,b)\),则方程\(ax+by=d(s\in\mathbb{Z})\)必定有无数组整数解\((x,y)\)。且对于\(d\)的任意整数......
  • 「矩阵求逆」P4783 【模板】矩阵求逆
    知识点:线性代数Link:Luogu大家好啊,我不会线代,下学期才开,所以这题抄的,只是简单记录做法,等到学了线代再回来更深一步理解。但是这做法又易懂又好记又牛逼。主要抄袭对象:ht......
  • 矩阵树定理、BEST 定理
    说句闲话。今天翻到一篇博客上来给放了个公式:\[\sum_{i=0}^n\binom{2i}i\binom{2n-2i}{2i}=4^i\]看起来就很不对劲。然后爆算了一波确实是错的。敬请注意。然后不知道为......
  • 「解题报告」[省选联考 2021 A 卷] 矩阵游戏
    啥都不会了!啥都不会了!啥都不会了!啥都不会了!啥都不会了!啥都不会了!啥都不会了!啥都不会了!啥都不会了!啥都不会了!啥都不会了!啥都不会了!啥都不会了!啥都不会了!啥都不会了!啥都不会......
  • 重塑矩阵(力扣简单题)
    题目:在MATLAB中,有一个非常有用的函数reshape,它可以将一个mxn矩阵重塑为另一个大小不同(rxc)的新矩阵,但保留其原始数据。给你一个由二维数组mat表示的mxn矩......
  • Burnside引理和Pólya定理
    不想写很多冗杂的群论定义,所以本博客不是用来入门的。概要对于一个作用在集合\(X\)上的有限群\(G\),对于每个\(g\inG\)令\(X^g\)表示\(X\)在\(g\)作用下的不......
  • 【数组】——螺旋矩阵
    【数组】——螺旋矩阵模拟顺时针画矩阵的过程:1.填充上行从左到右2.填充右列从上到下3.填充下行从右到左4.填充左列从下到上由外向内一圈一圈这么画下去。每一条边都......