矩阵树定理 记录
矩阵树定理这玩意背一次忘一次,还是写一发吧。
前置知识:行列式求值
给定一个矩阵,定义一个
行列式中行和列是等价的,以下对行描述的定理对列也同样成立。
行列式的性质一大堆,这里只介绍跟
定理 1:将第
证明:
忘了
定理 2:交换矩阵的任意两行,行列式的符号发生改变。
证明:这相当于在原基础上交换了
,由于交换排列的任意两个元素,排列逆序对数的奇偶性发生改变,那么 的符号也发生改变。
定理 3:上三角矩阵、下三角矩阵、对角矩阵的行列式等于主对角线上所有元素的乘积。
证明:对于这三个矩阵,只有当
时 才可能对答案有贡献,其他排列一定会乘上一个零导致必然没贡献。
根据以上三个定理,我们可以通过高斯消元把矩阵化成上三角矩阵(这其实就是高斯消元在干的事……),于是就能在
一个小细节:高斯消元的时候若需要求模意义下的解,但是可能某些数在模给定模数意义下没有逆元,这个时候注意到我们只是想让当前主元所在列除了主对角线上的其他元素置为 0,我们考虑采取类似求 gcd 的“辗转相除”法,假设当前主元是 如果把 。由于矩阵的每个元素只会减小
矩阵树定理
问题引入:给定一张有向图,求以
定理内容:
定义
其中
则以
证明:
参考:here
将
考虑给这个东西赋一个组合意义。让
考虑容斥,我们钦定某些点构成若干个环(
引理:排列的逆序对数的奇偶性等于
证明:对于每一个环,设其长度为
,我们可以通过 次操作(交换两个数)使该环上所有元素都归位(即 ),也就是说,我们可以通过 减去环数次操作(每个环都省一次操作)将原排列归位。每次操作会使逆序对奇偶性改变。
根据如上引理,我们有
矩阵树定理的拓展/变式
例题 0:给定一张无向图,求生成树个数。
题解:无向图生成树计数本质上和有向图生成树计数一样,因为无向边等价于两条有向边。而由于是无向图,所以以谁为根、内向还是外向树都不重要,随便钦定一个根即可。外向树计数本质也相同,只需要将原图边反向做内向树计数即可。较为平凡。
例题 1(P6178 【模板】Matrix-Tree 定理):给定一张有向带权图,求以
题解:考虑将权值为
例题 2(P6624 [省选联考 2020 A 卷] 作业题):给定一张带权无向图,求所有生成树权值之和。生成树的权值定义为树上所有边的权值的最大公约数和总和的乘积。
题解:对后面的那一大坨
例题 3(P5296 [北京省选集训2019] 生成树计数):给定
题解:考虑把
我们成功的把式子化成了多项式卷积的形式,将 这个东西似乎有个名字叫二项式卷积?
由于
BEST 定理
问题引入:给定一张欧拉图,求该图的本质不同欧拉回路个数。本质不同即两种方案不循环同构。
定理内容:
证明:
不会。
未完待续。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现