一个显然的结论是,一棵nn个结点的二叉树的形态数,是Catalan数第nn项。
分类:
其他好文 时间:
2015-08-13 17:54:40
阅读次数:
97
题目链接:hdu 5370 Tree Maker
n个节点的二叉树种类为Catalan数的第n项
对于一棵子树而言,被移动过的节点就是确定的位置,所以只要知道已经确定位置的K个节点有多少个空孩子指针M,和就该子树下的N个未确定位置的节点,等于是说用N个节点构造M个可为空的子树的种类数。对于整个树的形态数即为若干棵独立的子树形态数的乘积。
定义dp[i][j]为用i个节点构造j棵树的形...
分类:
其他好文 时间:
2015-08-12 23:39:29
阅读次数:
231
卡特兰数的含义:
说到卡特兰数,就不得不提及卡特兰数序列,卡特兰数序列是一个整数序列,其通项公式是我们从中取出的就叫做第n个卡特兰数数,前几个卡特兰数数是:1,
1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, …运用卡特兰数可以解决许多实际问题上的计数问题
卡特兰数的几个基本性质以及变形公式:
...
分类:
其他好文 时间:
2015-08-02 21:41:29
阅读次数:
189
题目: 096 Unique Binary Search Trees这道题目就是catalan数, 因为递归关系 为 代码为class Solution: # @param {integer} n # @return {integer} def numTrees(self, n)...
分类:
其他好文 时间:
2015-07-14 15:19:13
阅读次数:
93
什么是Catalan数说到Catalan数,就不得不提及Catalan序列,Catalan序列是一个整数序列,其通项公式是我们从中取出的就叫做第n个Catalan数,前几个Catalan数是:1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786...
分类:
其他好文 时间:
2015-07-13 11:54:45
阅读次数:
149
Catalan数的递推公式为:F(n)= F(n - 1) * (4*n - 2)/ (n + 1);
由于n最大为100;所以需要用数组来存放每一个Catalan数。需要运用大数的运算。
下面的是AC 的代码:
# include
struct catalan
{
int length;
int len[100];
};
struct catalan a[101];
int ma...
分类:
其他好文 时间:
2015-06-17 16:40:12
阅读次数:
105
1.定义卡特兰数又称卡塔兰数,英文名Catalan number,是组合数学中一个常出现在各种计数问题中出现的数列。由以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)命名,其前几项为 :1, 2, 5, 14, 42, 132...递推式:令h(0)=1,h(1)=1,(1) Catala...
分类:
其他好文 时间:
2015-06-11 14:18:23
阅读次数:
112
公式:
n
n > 2时, f(n) = (4n - 2) / (n+1) * f(n-1)
1-100的卡特兰数列表如下:
n f(n)
1 1
2 2
3 5
4 14
5 42
6 132
7 429
8 1430
9 4862
10 ...
分类:
其他好文 时间:
2015-05-03 17:30:39
阅读次数:
136
计算1-100卡特兰数,必须要用数组存,大数模板注:卡特兰数:卡特兰数又称卡塔兰数,是组合数学中一个常出现在各种计数问题中出现的数列。由以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)命名。原理: 令h(1)=1,h(0)=1,catalan数满足递归式: h(n)= h(0)*h(...
分类:
其他好文 时间:
2015-04-30 21:46:27
阅读次数:
318
Catalan数/组合数取模 Aha!这题我突然灵光一现就想到Catalan数……就是按顺序安排1~2n这些数(以满足前两个条件)……分配到奇数位置上的必须比偶数位置上的多(要不就不满足第三个条件了) Catalan数可以用C(n,2n)/(n+1)直接求 但是这题P不保证是质数感觉很捉急啊=...
分类:
其他好文 时间:
2015-04-17 23:42:37
阅读次数:
210