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}=\ ...
随机推荐
- 19 request请求数据大全
1 request.path_info # 获取当前用户请求的url # http://127.0.0.1:8000/customer/list/ ----> /customer/list/ # ...
- C# net core 从文件流中获取文件头、匹配文件类型
常用文件的文件头如下: (以前六位为准) JPEG (jpg),文件头:FFD8FF PNG (png),文件头:89504E47 GIF (gif),文件头:47494638 TIFF (tif), ...
- Windows Powershell个性化设置
1. 设置Powershell prompt只显示当前目录: 2. 设置Powershell title为当前路径: 这个文件的路径为:echo $profile # file location:ec ...
- vue上传图片组件
<template> <!-- 上传控件 用法: <upload-widget v-model="imgUrl"></upload-widg ...
- git在linux安装步骤详解!!
linux上安装,以centos 7.x为例 yum命令安装 yum install gityum install 安装的git不是最新版本,如需最新版本需要自行编译 到下面的网站下载合适的版本 ht ...
- vite设置跨域
1. vite.config.ts或者vite.config.js文件 server: { port: 3001, host: '0.0.0.0', open: true, proxy: { // 代 ...
- Windows使用技巧(持续更新)
如何将应用添加到鼠标右键菜单? 1. Win+R 输入:regedit打开注册表 2. 找到HKEY_CLASSES_ROOT\Directory\Background\shell,在该路径下创建项 ...
- Java压缩音频视频工具类
/** * TODO * * @author Administrator * @version 1.0 * @date 2021/11/5 16:55 */ public class vedio { ...
- SAP B1 增加或删除单据,或者是新增修改BOM清单,报错‘出现内部错误时’,一般是控制过程 SBO_SP_TransactionNotification 里面的代码有问题,执行不下去了,因此一行行检查SQL代码,一般就能发现错误所在。
SAP B1 增加或删除单据,或者是新增修改BOM清单,报错'出现内部错误时',一般是控制过程 SBO_SP_TransactionNotification 里面的代码有问题,执行不下去了,因此一行行 ...
- 如何快速开发一套cesium三维系统
首先我们需要明确我们做的三维应该具有哪些功能,常见的三维系统主要用于展示三维数据,常见的功能应该有,缩放平移,漫游浏览,定位,量测,图层控制等基础功能.在这些基础功能上根据业务需要,再继续扩展,添加一 ...