摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=1294 组合数学的题,求给定结点数可以构造出多少不同的根树。 我的做法跟网上其他的做法有点不同,我是用整数划分的方法将一种结点数的子结点全部分解,然后用乘法原理求出组合数是多少。刚开始的时候忘记处理重复子树的会出现交换以后相同的状况,然后通过推理,发现了重复的个数跟组合数有关,所以开始的时候可以用杨辉三角构造组合数。 例如,如果有n个结点的子树种类有k种,同时有这样的m棵子树,那么这几棵子树的组合数就是Σ((k - i) * C(i + m - 2, m - 2))(0 <= i < k)。然后通 阅读全文