Prufer 序列浅谈
prufer 序列完成了从一棵大小为
- 从一棵无根树到 Prufer 序列:
找到其编号最小的叶子,然后删掉叶子,把其父亲加入队列。重复操作,直到整棵树剩下两个节点。
用一个指针,指向当前编号最小的叶子节点,然后删掉他,如果其父亲变成了叶子,并且编号比它小,我们就删掉其父亲并重复操作,否则往后推指针,找到下一个叶子。
- 从 Prufer 序列到一棵无根树:
容易发现,每个节点的度数是在 Prufer 序列中的出现次数加
所以大小为
不过更需要注意的是,上面定义的叶子是不严谨的。
prufer 序列是有标号无根树与长度为序列的一种双射,由此可以知道有标号无根树的个数为 个。而所谓的叶子,实际上就是度数为 的点。而之所以定义了父亲等,是因为我们假设以 为根,而其一定是不会被删掉的。
可以得到比 Cayley 定理(有标号无根树个数的定理)更强的定理,如果给定了
其中
考虑如何证明,首先考虑每个连通块都是一个点,设练完边后第
然后关注到上面这个式子每一个方案都对应着一棵树,而每个连通块都需要选出一些点来连边,这些点是可以重复选择的,由此可以得到总的方案数应该为:
考虑多元二项式定理:
所以可以得到原式为:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律