BEST 定理与矩阵树定理的证明
BEST 定理:计算有向图的欧拉回路数量
欧拉图 \(G\) 的欧拉回路个数为 \(T_s(G)\prod(out_i-1)!\),其中 \(T_s(G)\) 代表以 \(s\) 为根的内向树个数,\(out_i\) 代表点 \(i\) 的出度。同时由此可见,对于一个欧拉图,其任意一个点为根的内向树个数相同。
证明:
除去点 \(s\),考虑其它点在欧拉回路上的最后一条出边 \(e\),它们一定形成一棵以 \(s\) 为根的内向树,因为如果有环,那么显然与所有边都最后一次出现矛盾。然后将所有点其余的出边按随意顺序排列,方案数为 \(out_s!\prod\limits_{i\neq s}(out_i-1)!\),发现每种排法可以唯一对应一种欧拉回路,每种欧拉回路也能唯一找到一棵这样的生成树。但是注意这样的排法中每 \(out_s\) 条路径是循环同构的,要除掉,于是答案即为 \(T_s(G)\prod(out_i-1)!\)。
矩阵树定理的证明
这里只写有向图内向树的证明,其余两者类似。
写一下式子:\(\sum\limits_{p}(-1)^{\tau(p)}\sum\limits a_{i,p_i}\)。
考虑组合意义:对于一个排列 \(p\),如果 \(i\neq p_i\),那么视为选择了一条 \(i\rightarrow p_i\) 的一条一类边,系数为 \(-1\);否则视为选择了任意一条 \(i\rightarrow j\) 的边,系数为 \(1\)(由于有 \(deg_i\) 种方案所以符合式子)。
可以发现所有 \(-1\) 边形成若干个环,所有 \(1\) 边形成若干个环和一棵以 \(1\) 为根的内向树。
我们不希望图中能存在环,于是考虑将某个 \(-1\) 环的贡献和对应的 \(1\) 环的贡献抵消掉。设其环长为 \(l\),则给它一个 \((-1)^{(l-1)}\) 的系数,发现就能顺利抵消了。
于是我们只需要证明:所有非自环的 \((l-1)\) 之和的奇偶性与 \(\tau(p)\) 的奇偶性相同。
注意对于一个环,交换任意两个元素后变成两个环,\(\sum(l-1)\) 减少 \(1\);对于排列,交换任意两个数后逆序对的奇偶性改变。
于是可以一直交换,直到最后变成环都是自环,排列为 \(1\sim n\),得证。
BEST 定理与矩阵树定理的证明的更多相关文章
- @总结 - 7@ 生成树计数 —— matrix - tree 定理(矩阵树定理)与 prüfer 序列
目录 @0 - 参考资料@ @0.5 - 你所需要了解的线性代数知识@ @1 - 矩阵树定理主体@ @证明 part - 1@ @证明 part - 2@ @证明 part - 3@ @证明 part ...
- 【BZOJ3534】[SDOI2014] 重建(矩阵树定理)
点此看题面 大致题意: 给你一张图,每条边有一定存在概率.求存在的图刚好为一棵树的概率. 矩阵树定理是什么 如果您不会矩阵树定理,可以看看蒟蒻的这篇博客:初学矩阵树定理. 矩阵树定理的应用 此题中,直 ...
- 【算法】Matrix - Tree 矩阵树定理 & 题目总结
最近集中学习了一下矩阵树定理,自己其实还是没有太明白原理(证明)类的东西,但想在这里总结一下应用中的一些细节,矩阵树定理的一些引申等等. 首先,矩阵树定理用于求解一个图上的生成树个数.实现方式是:\( ...
- 【Learning】矩阵树定理 Matrix-Tree
矩阵树定理 Matrix Tree 矩阵树定理主要用于图的生成树计数. 看到给出图求生成树的这类问题就大概要往这方面想了. 算法会根据图构造出一个特殊的基尔霍夫矩阵\(A\),接着根据矩阵树定理, ...
- BZOJ 1002 轮状病毒 矩阵树定理
题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1002 题目大意: 给定n(N<=100),编程计算有多少个不同的n轮状病毒 思路 ...
- 【BZOJ 1016】 1016: [JSOI2008]最小生成树计数 (DFS|矩阵树定理)
1016: [JSOI2008]最小生成树计数 Description 现在给出了一个简单无向加权图.你不满足于求出这个图的最小生成树,而希望知道这个图中有多少个不同的最小生成树.(如果两颗最小生成树 ...
- CodeForces - 156D:Clues(矩阵树定理&并查集)
题意:给定N点,M边,求添加最少的边使之变为连通图的方案数. 思路:注意题目给出的M边可能带环,即最后生成的不一定是一棵树.但是影响不大.根据矩阵树定理,我们知道生成树的数量=N^(N-2),即点数^ ...
- 算法复习——矩阵树定理(spoj104)
题目: In some countries building highways takes a lot of time... Maybe that's because there are many p ...
- 【UOJ#75】【UR #6】智商锁(矩阵树定理,随机)
[UOJ#75][UR #6]智商锁(矩阵树定理,随机) 题面 UOJ 题解 这种题我哪里做得来啊[惊恐],,, 题解做法:随机\(1000\)个点数为\(12\)的无向图,矩阵树定理算出它的生成树个 ...
- 矩阵树定理&BEST定理学习笔记
终于学到这个了,本来准备省选前学来着的? 前置知识:矩阵行列式 矩阵树定理 矩阵树定理说的大概就是这样一件事:对于一张无向图 \(G\),我们记 \(D\) 为其度数矩阵,满足 \(D_{i,i}=\ ...
随机推荐
- oracle表中增加字段sql
declare v_Count1 int := 0; v_Count2 int := 0;begin select count(1) into v_Count1 from user_all_table ...
- 关于SVN状态图标不显示的解决办法
一.参考网址 地址:https://blog.csdn.net/qq_33521184/article/details/126562881 二.详情: 第一步: 通过svn的设置来解决 右键-> ...
- Java知识体系深度理解
1 post请求和get请求异同点 ①无论是POST还是GET请求,都是基于超文本传输协议(HTTP)的,而HTTP协议是TCP/IP协议族的应用层协议. HTTP的底层是TCP/IP.所以GET和P ...
- maven项目资源导出问题
maven由于他的约定大于配置,我们之后可以能遇到我们写的配置文件,无法被导出或者生效的问题,解决方案: <!--在build中配置resources,来防止我们资源导出失败的问题--> ...
- OO课程第一阶段(前三次作业)总结Blog1
OO课程第一阶段(前三次作业)总结Blog1 前言:学习OOP课程的第一阶段已经结束了,在此进行对于知识点,题量,难度的个人看法. (1)相比于另外两次作业,第一次作业基本上是基本的编程的语法训练,题 ...
- 复习笔记,javadoc生成文档总结
1.处理数字时候的内存溢出问题 //在处理大数字时候注意内存溢出问题 int i=10_0000_0000; //jdk7 中数字之间可以加入下划线不影响输出 ...
- 5、什么是MIME
MIME 类型 媒体类型(通常称为 Multipurpose Internet Mail Extensions 或 MIME 类型 )是一种标准,用来表示文档.文件或字节流的性质和格式.它在IETF ...
- 关于css在html的三种使用方式
关于css在html的三种使用方式 1.内联样式(直接在html里面使用style) eg:<h1 style="color:skyblue">这是一个测试标题< ...
- 1005.Django自定义过滤器及标签
一.关于自定义 自定义的引入 内置函数--------->自定义函数 内置模块--------->自定义模板 内置过滤器------>自定义过滤器 内置标签---------> ...
- termux搭建服务器方式
pkg install vim apt update 安装debian系统apt install proot-distroproot-distro install debianproot-distro ...