【读书笔记】组合计数中的行列式方法 专题2 欧拉回路,the BEST theorem
专题2-欧拉回路,the BEST theorem
一些定义
- An Eulerian path is a path in the graph that visits every edge exactly once.
- If the path starts and ends at the same vertex,then it is called an Eulerian cycle.
- We say \(G\) is an Eulerian graph if it has an Eulerian cycle.
一个有向图是欧拉的充要条件
Theorem 1.4.8 A directed graph is Eulerian if and only if it is connected and every vertex \(v\) satisfies \(indeg(v) = outdeg(v)\).
定理1.4.8 一个有向图而言,它是欧拉的当且仅当对所有节点出度等于入度。
BEST定理

BSET定理推论
在欧拉有向图中,每个节点的有向生成树数目都是相等的。

k-ary de Bruijn sequence定义
A k-ary de Bruijn sequence of order n
定义为一个cyclic word,长度是\(k^n\),用的字母表是{0,1,...,k-1},
它的每一个subword正好遍历【长度为\(n\),用字母表为{0,1,...,k-1}组成的\(k^n\)个序列】(每个出现一次)
举个例子,我从维基百科截的图:

BSET theorem在k-ary de Bruijn sequences of order n计数 中的应用
建图呗。下面这也是维基截的图。
比如你想求解2-ary de Bruijn sequences of order 3的数目,每个节点的序列长度是3,
数哈密顿路径。(收集的序列就是点构成的序列)
或者,你想求解2-ary de Bruijn sequences of order 4的数目,每个节点的序列长度是3,
数欧拉环。 (收集的序列就是【边,形如e_1,e_2,e_3...】构成的序列)

下面定理证明中用到的是把长度为n-1的序列作为点,找到欧拉环。

彩蛋-超排列
“我对普通的人类没有兴趣,你们只要能求出超排列的准确公式,就尽管来找我吧!以上”
【读书笔记】组合计数中的行列式方法 专题2 欧拉回路,the BEST theorem的更多相关文章
- 强化学习读书笔记 - 10 - on-policy控制的近似方法
强化学习读书笔记 - 10 - on-policy控制的近似方法 学习笔记: Reinforcement Learning: An Introduction, Richard S. Sutton an ...
- 强化学习读书笔记 - 09 - on-policy预测的近似方法
强化学习读书笔记 - 09 - on-policy预测的近似方法 参照 Reinforcement Learning: An Introduction, Richard S. Sutton and A ...
- WC集训DAY2笔记 组合计数 part.1
目录 WC集训DAY2笔记 组合计数 part.1 基础知识 组合恒等式 错排数 卡特兰数 斯特林数 伯努利数 贝尔数 调和级数 后记 补完了几天前写的东西 WC集训DAY2笔记 组合计数 part. ...
- 【记】《.net之美》之读书笔记(二) C#中的泛型
前言 上一篇读书笔记,很多小伙伴说这本书很不错,所以趁着国庆假期,继续我的读书之旅,来跟随书中作者一起温习并掌握第二章的内容吧. 一.理解泛型 1.为什么要使用泛型?-----通过使用泛型,可以极大地 ...
- 《深入理解Java虚拟机:JVM高级属性与最佳实践》读书笔记(更新中)
第一章:走进Java 概述 Java技术体系 Java发展史 Java虚拟机发展史 1996年 JDK1.0,出现Sun Classic VM HotSpot VM, 它是 Sun JDK 和 Ope ...
- 《SQL Server企业级平台管理实践》读书笔记——SQL Server中关于系统库Tempdb总结
Tempdb系统数据库是一个全局资源,可供连接到SQL Server实例的所有用户使用. 存储的内容项: 1.用户对象 用户对象由用户显示创建.这些对象可以位于用户会话的作用域中,也可以位于创建对象所 ...
- 秒味课堂Angular js笔记------Angular js中的工具方法
Angular js中的工具方法 angular.isArray angular.isDate angular.isDefined angular.isUndefined angular.isFunc ...
- Java学习笔记十七:Java中static使用方法
Java中static使用方法 一:Java中的static使用之静态变量: 我们都知道,我们可以基于一个类创建多个该类的对象,每个对象都拥有自己的成员,互相独立.然而在某些时候,我们更希望该类所有的 ...
- 《SQL Server企业级平台管理实践》读书笔记——SQL Server中数据文件空间使用与管理
1.表和索引存储结构 在SQL Server2005以前,一个表格是以一个B树或者一个堆(heap)存放的.每个B树或者堆,在sysindexes里面都有一条记录相对应.SQL Server2005以 ...
- 读书笔记-你不知道的JS中-promise
之前的笔记没保存没掉了,好气,重新写! 填坑-- 现在与将来 在单个JS文件中,程序由许多块组成,这些块有的现在执行,有的将来执行,最常见的块单位是函数. 程序中'将来'执行的部分并不一定在'现在'运 ...
随机推荐
- L2 Cracia Final Update1 OpCodz
[87] Gracia Final Update 1 Client 00 SendLogOut 01 RequestAttack 03 RequestStartPledgeWar 04 Request ...
- css如何实现(animation)跑马灯效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- php excel导出列超过26个字母处理
/** * String from columnindex * * @param int $pColumnIndex Column index (base 0 !!!) * @return strin ...
- 【RTOS】《多任务抢占式调度器》笔记
<多任务抢占式调度器>读书笔记 1.多任务系统 在多任务调度器的作用下,多个任务轮流使用cpu,实现多任务相互独立并发运行的效果,能够充分利用硬件资源,提高cpu效率 2.任务特性 a.动 ...
- Python 的入门学习之 Day1~3 ——from”夜曲编程“
Day 1(原点) time: 2021.7.29. 以下为补录内容: 今天是编程学习的第一天,很开心.Here is the place where I start, which belongs t ...
- leetcode-560-和为 K 的子数组
给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的连续子数组的个数 . 示例 1: 输入:nums = [1,1,1], k = 2 输出:2 示例 2: 输入:num ...
- python基础篇 13-模块的导入 安装第三方模块
一.模块 一个python文件就是一个模块 标准模块(内置模块) 第三方模块 需要自己安装的 自己写的 需要导入的 import 一个模块的实质: 实际上就是把一个py文件从头到尾执行了一遍,main ...
- obspy常用命令记录
如何使用obspy(适用于MAC.Linux.Windows)完全替代SAC(使用于Linux和MAC) 波形预处理 # 去均值 stream.detrend('demean') # 去线性趋势 st ...
- 树莓派启动后自动发送本地IP 到指定邮箱
在 /etc/init.d 目录下建立 GetLocalip.py 文件 #coding: utf-8 import smtplib from email.mime.text import MIM ...
- python代码抛出异常
from traceback import format_exc except Exception: print(format_exc())