Cayley 公式的另一种证明
Cayley 公式的一些广为人知的证法:
- Prufer 序列
- Matrix-Tree 定理
然而我都不会 233,所以下面说一个生成函数角度的证法 .
我们知道 \(n\) 个节点的有标号无根树有 \(n^{n-2}\) 种,即 Cayley 公式 .
具体数学的做法是考虑递推完全图生成树个数,然后推出 EGF 的关系 .
那个递推太牛逼了,我就不这么干了,先令 \(g_n\) 表示 \(n\) 个节点的有标号有根树个数(\(g_0=0\)),且其 EGF 为 \(G(z)\) .
钦定一个根,它每一个儿子的 EGF 都与它相同, 就是 \(G(z)\) . 那么它的生成函数就是它儿子生成函数的一个组合, 即 \(\mathrm e^{G(z)}\) . 然后考虑根本身的影响,有
\]
即 \(G(z)\mathrm e^{-G(z)}=z\) .
现在只需要解出 \(G\) 来然后提取系数即可 .
方法 1
Lagrange 反演
若 \(F,G\) 互为复合逆(即 \(F(G(z))=G(F(z))=z\)),且 \(F,G\) 常系数为 \(0\),\(1\) 次项非 \(0\),则有
\[[z^n]G(z)=\dfrac1n[z^{-1}]F(z)^{-n}
\]
令 \(F(z)=z\mathrm e^{-z}\),那么易见 \(F,G\) 互为复合逆,于是 Lagrange 反演一下,得到
\]
于是有标号有根树个数为 \(n^{n-1}\),于是有标号无根树个数就是 \(n^{n-2}\),Cayley 公式得证 .
方法 2(不确保正确性,要是错了轻 D)
考虑广义指数函数 \(\mathcal E_t(z)\) 定义为
\]
广义指数函数有一个性质叫
\]
令 \(\mathcal D(z)=\ln\mathcal E_t(z)\),则上式可以化为
\]
移项得
\]
取 \(t=1\) 就得到所需 EGF \(G\) .
于是 \(G(z)=\ln\mathcal E_1(z)\) .
然后 EGF \(\ln\) 其实相当于一个平移,所以就可以根据定义提取系数 \([z^n]G(z)=n^{n-1}\) .
同样,这表明有标号有根树个数为 \(n^{n-1}\),于是有标号无根树个数就是 \(n^{n-2}\),Cayley 公式又得证 .
UPD. 具体数学写法好像和我不太一样,我也知道 EGF 的微积分事实上是平移,然而这个做法看起来哪都对(
Cayley 公式的另一种证明的更多相关文章
- 树的计数 Prufer序列+Cayley公式
先安利一发.让我秒懂.. 第一次讲这个是在寒假...然而当时秦神太巨了导致我这个蒟蒻自闭+颓废...早就忘了这个东西了... 结果今天老师留的题中有两道这种的:Luogu P4981 P4430 然后 ...
- 树的计数 + prufer序列与Cayley公式(转载)
原文出处:https://www.cnblogs.com/dirge/p/5503289.html 树的计数 + prufer序列与Cayley公式 学习笔记(转载) 首先是 Martrix67 的博 ...
- 树的计数 Prüfer编码与Cayley公式 学习笔记
最近学习了Prüfer编码与Cayley公式,这两个强力的工具一般用于解决树的计数问题.现在博主只能学到浅层的内容,只会用不会证明. 推荐博客:https://blog.csdn.net/moreja ...
- P4981 父子 Cayley公式
CayleyCayley公式的定义是这样的,对于n个不同的节点,能够组成的无根树(原来是无向连通图或者是有标志节点的树)的种数是n^(n-2)种.(这里让大家好理解一点,就写成了无根树,其实应该是一样 ...
- 树的计数 + prufer序列与Cayley公式 学习笔记
首先是 Martrix67 的博文:http://www.matrix67.com/blog/archives/682 然后是morejarphone同学的博文:http://blog.csdn.ne ...
- Ceva定理的四种证明方法
${\color{Teal} {Ceva定理}}$设$D.E.F$依次为三角形ABC的边$AB.BC.CA$的内点,记 $λ$=(A,B,D),$μ$=(B,C,E),$v$=(C,A,F) 求证:三 ...
- Dijkstra算法的另一种证明
按:今天看Tanenbaum的计算机网络时讲到了Dijkstra算法.关于算法的正确性,<算法导论>给出了严格的证明.CLRS的证明基于一个通用的框架,非常清晰.今天只是随意想想是否有其他 ...
- [Bilingual] Different proofs of Jordan cardinal form (Jordan标准型的几种证明)
- 【数据结构与算法分析——C语言描述】第一章总结 引论
这一章主要复习了一些数学知识,像指数.对数.模运算.级数公式:还有2种证明方法,归纳假设法和反证法.所幸以前学过,重新拾捡起来也比较轻松. 简要地复习了递归,提出了编写递归例程的四条基本法则: 基准情 ...
随机推荐
- Git 日志提交规范
Commit messages的基本语法 当前业界应用的比较广泛的是 Angular Git Commit Guidelines 具体格式为: <type>: <subject> ...
- 超全面!1.5w字总结50个Java经典基础面试题(已根据知识点分类)
大家好,我是fancy. 在面试中将基础问题回答好就是成功的一半. 我总结了50道经典的Java基础面试题,里面包含面试要回答的知识重点,并且我根据知识类型进行了分类,可以说非常全面了. 小伙伴们点赞 ...
- 云厂商 RDS MySQL 怎么选
1. 摘要 为了让大家更好的了解各云厂商在RDS MySQL数据库功能上的差异,也为给准备上云的同学做个参考,本文将对阿里云.腾讯云.华为云和AWS 的 RDS MySQL数据库进行对比说明. 从一个 ...
- django基础--02基于数据库的小项目
摘要:简单修改.增加部分页面,了解django开发的过程.(Python 3.9.12,django 4.0.4 ) 接前篇,通过命令: django-admin startproject myWeb ...
- Spring Ioc源码分析系列--Ioc容器BeanFactoryPostProcessor后置处理器分析
Spring Ioc源码分析系列--Ioc容器BeanFactoryPostProcessor后置处理器分析 前言 上一篇文章Spring Ioc源码分析系列--Ioc源码入口分析已经介绍到Ioc容器 ...
- 理解 Object.defineProperty
理解 Object.defineProperty 本文写于 2020 年 10 月 13 日 Object.defineProperty 用于在一个对象上定义新的属性或修改现有属性并返回该对象. 什么 ...
- Git 后续——分支与协作
Git 后续--分支与协作 本文写于 2020 年 9 月 1 日 之前一篇文章写了 Git 的基础用法,但那其实只是「单机模式」,Git 之所以在今天被如此广泛的运用,是脱不开分支系统这一概念的. ...
- 海量数据存储ClickHouse
ClickHouse介绍 ClickHouse的由来和应用场景 俄罗斯Yandex在2016年开源,使用C++编写的列式存储数据库,近几年在OLAP领域大范围应用 官网:https://clickho ...
- 升级 package.json 内所有包的版本号
安装 全局安装这个库 npm-check-updates,因为后续依靠它来实现更新 package.json 中包的版本号 yarn global add npm-check-updates 食用 看 ...
- js 动画补间 Tween
1 /* RunningList (触发过程中可以安全的删除自己) 2 如果触发过程中删除(回调函数中删除正在遍历的数组), 不仅 len 没有变(遍历前定义的len没有变, 真实的len随之减少), ...