[Bijective-proof]完全二分图的生成树个数求解

这篇具有很好参考价值的文章主要介绍了[Bijective-proof]完全二分图的生成树个数求解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目:

给定完全二分图,左右分别有n1和n2个顶点,求其生成数个数。

 文章来源地址https://www.toymoban.com/news/detail-757883.html

 

知识补充1:完全二分图定义

        对某完全图(V,E),将其顶点V划分在两个集合A,B中。取边集E中任意一条边e,若其两个顶点一个在集合A,一个在集合B中,则该完全图为完全二分图。

完全二部图的生成树个数,离散数学,算法,图论,数据结构

 

 

知识补充2:完全二分图的常见证明方法---染色法

        为证明一个图是二分图,通常采用染色法。即遍历二分图每一条边(A,B):

①假设A有颜色,若B无颜色:若A为黑色,则将B染成白色。若A为白色,则将B染成黑色。

②假设A有颜色,B有颜色:若A颜色=B颜色,则不是二分图。(无法将该边的两点划分到黑色-白色两个集合中)

 

 

知识补充3:prufer序列

        一种完全图生成树的计数方法,可以将完全图生成树一一对应于一个prufer序列。则由序列的排列数,可由映射关系求解出生成树的个数。(具体暂时不介绍)

        本体需要用到的prufer序列的结论:

①n节点无向图的无根树,对应序列长度为n-2

②当我们将图的叶子节点删除时,其邻节点会被加入到prufer序列当中。

 

 

本题题解:

        1.已知n点完全图生成树的prufer序列长度都为n-2,且序列构造结束必然剩下两个点,这两个点形成一条边。

        2.针对二分图而言,最后剩下的两个点必然一个为黑点,一个为白点。我们假设黑点集合为A(左边节点集合,大小为n1),白点集合为B(右边节点集合,大小为n2)

        3.对于一张已经染好黑白二色的二分图,我们现在求解一个prufer序列:按照prufer序列构造原则,我们每一步会删除一个叶子节点,同时加入其邻节点:

完全二部图的生成树个数,离散数学,算法,图论,数据结构

①若当前删除节点为黑节点,则prufer序列中会写入一个白色节点。

②若当前删除节点为白节点,则prufer序列中会写入一个黑色节点。

当prufer序列构造完成时:

总共要删除n1-1个黑色节点,所以prufer序列会存在n1-1个白色节点。

同理,总共要删除n2-1个白色节点,所以prufer序列会存在n2-1个黑色节点。

所以prufer序列会存在n1-1个白色节点。n2-1个黑色节点。

 

 

回顾集合大小定义

黑点集合为A(左边节点集合,大小为n1),白点集合为B(右边节点集合,大小为n2)

因此,prufer序列的可能组合计数有:

        ①选出n1-1个白色节点:  

        ②选出n2-1个黑色节点:    

乘法原理,总共有:*

 

相关题目:洛谷[bzoj4766]文艺计算姬

 

 

到了这里,关于[Bijective-proof]完全二分图的生成树个数求解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包