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)=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 反演一下,得到

\[\begin{aligned}[x^n]G(z)&=\dfrac1n[z^{-1}]F(z)^{-n}\\&=\dfrac 1n[z^{n-1}]\left(z^nF(z)^{-n}\right)\\&=\dfrac1n[z^{n-1}]\left(\dfrac{z}{F(z)}\right)^n\\&=\dfrac1n[z^{n-1}]\mathrm e^{nz}\\&=n^{n-1}\end{aligned}
\]

于是有标号有根树个数为 \(n^{n-1}\),于是有标号无根树个数就是 \(n^{n-2}\),Cayley 公式得证 .


方法 2(不确保正确性,要是错了轻 D)

考虑广义指数函数 \(\mathcal E_t(z)\) 定义为

\[\mathcal E_t(z)=\sum_{n\ge 0}(tn+1)^{n-1}\dfrac{z^n}{n!}
\]

广义指数函数有一个性质叫

\[\mathcal E_t(z)^{-t}\ln\mathcal E_t(z)=z
\]

令 \(\mathcal D(z)=\ln\mathcal E_t(z)\),则上式可以化为

\[\dfrac{\mathcal D(z)}{\mathrm e^{t\mathcal D(z)}}=z
\]

移项得

\[\mathcal D(z)=z\mathrm e^{t\mathcal D(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 公式的另一种证明的更多相关文章

  1. 树的计数 Prufer序列+Cayley公式

    先安利一发.让我秒懂.. 第一次讲这个是在寒假...然而当时秦神太巨了导致我这个蒟蒻自闭+颓废...早就忘了这个东西了... 结果今天老师留的题中有两道这种的:Luogu P4981 P4430 然后 ...

  2. 树的计数 + prufer序列与Cayley公式(转载)

    原文出处:https://www.cnblogs.com/dirge/p/5503289.html 树的计数 + prufer序列与Cayley公式 学习笔记(转载) 首先是 Martrix67 的博 ...

  3. 树的计数 Prüfer编码与Cayley公式 学习笔记

    最近学习了Prüfer编码与Cayley公式,这两个强力的工具一般用于解决树的计数问题.现在博主只能学到浅层的内容,只会用不会证明. 推荐博客:https://blog.csdn.net/moreja ...

  4. P4981 父子 Cayley公式

    CayleyCayley公式的定义是这样的,对于n个不同的节点,能够组成的无根树(原来是无向连通图或者是有标志节点的树)的种数是n^(n-2)种.(这里让大家好理解一点,就写成了无根树,其实应该是一样 ...

  5. 树的计数 + prufer序列与Cayley公式 学习笔记

    首先是 Martrix67 的博文:http://www.matrix67.com/blog/archives/682 然后是morejarphone同学的博文:http://blog.csdn.ne ...

  6. Ceva定理的四种证明方法

    ${\color{Teal} {Ceva定理}}$设$D.E.F$依次为三角形ABC的边$AB.BC.CA$的内点,记 $λ$=(A,B,D),$μ$=(B,C,E),$v$=(C,A,F) 求证:三 ...

  7. Dijkstra算法的另一种证明

    按:今天看Tanenbaum的计算机网络时讲到了Dijkstra算法.关于算法的正确性,<算法导论>给出了严格的证明.CLRS的证明基于一个通用的框架,非常清晰.今天只是随意想想是否有其他 ...

  8. [Bilingual] Different proofs of Jordan cardinal form (Jordan标准型的几种证明)

  9. 【数据结构与算法分析——C语言描述】第一章总结 引论

    这一章主要复习了一些数学知识,像指数.对数.模运算.级数公式:还有2种证明方法,归纳假设法和反证法.所幸以前学过,重新拾捡起来也比较轻松. 简要地复习了递归,提出了编写递归例程的四条基本法则: 基准情 ...

随机推荐

  1. Git 日志提交规范

    Commit messages的基本语法 当前业界应用的比较广泛的是 Angular Git Commit Guidelines 具体格式为: <type>: <subject> ...

  2. 超全面!1.5w字总结50个Java经典基础面试题(已根据知识点分类)

    大家好,我是fancy. 在面试中将基础问题回答好就是成功的一半. 我总结了50道经典的Java基础面试题,里面包含面试要回答的知识重点,并且我根据知识类型进行了分类,可以说非常全面了. 小伙伴们点赞 ...

  3. 云厂商 RDS MySQL 怎么选

    1. 摘要 为了让大家更好的了解各云厂商在RDS MySQL数据库功能上的差异,也为给准备上云的同学做个参考,本文将对阿里云.腾讯云.华为云和AWS 的 RDS MySQL数据库进行对比说明. 从一个 ...

  4. django基础--02基于数据库的小项目

    摘要:简单修改.增加部分页面,了解django开发的过程.(Python 3.9.12,django 4.0.4 ) 接前篇,通过命令: django-admin startproject myWeb ...

  5. Spring Ioc源码分析系列--Ioc容器BeanFactoryPostProcessor后置处理器分析

    Spring Ioc源码分析系列--Ioc容器BeanFactoryPostProcessor后置处理器分析 前言 上一篇文章Spring Ioc源码分析系列--Ioc源码入口分析已经介绍到Ioc容器 ...

  6. 理解 Object.defineProperty

    理解 Object.defineProperty 本文写于 2020 年 10 月 13 日 Object.defineProperty 用于在一个对象上定义新的属性或修改现有属性并返回该对象. 什么 ...

  7. Git 后续——分支与协作

    Git 后续--分支与协作 本文写于 2020 年 9 月 1 日 之前一篇文章写了 Git 的基础用法,但那其实只是「单机模式」,Git 之所以在今天被如此广泛的运用,是脱不开分支系统这一概念的. ...

  8. 海量数据存储ClickHouse

    ClickHouse介绍 ClickHouse的由来和应用场景 俄罗斯Yandex在2016年开源,使用C++编写的列式存储数据库,近几年在OLAP领域大范围应用 官网:https://clickho ...

  9. 升级 package.json 内所有包的版本号

    安装 全局安装这个库 npm-check-updates,因为后续依靠它来实现更新 package.json 中包的版本号 yarn global add npm-check-updates 食用 看 ...

  10. js 动画补间 Tween

    1 /* RunningList (触发过程中可以安全的删除自己) 2 如果触发过程中删除(回调函数中删除正在遍历的数组), 不仅 len 没有变(遍历前定义的len没有变, 真实的len随之减少), ...