链接:http://acm.hdu.edu.cn/showproblem.php?pid=1502 思路:当只有两个数时,可以用卡特兰数做,当三个数时,没想到卡特兰数的做法。可以使用动态规划。 状态转移方程如下: dp[i][j][k] = dp[i - 1][j][k] + dp[i][j - 1 ...
分类:
其他好文 时间:
2016-05-17 19:18:05
阅读次数:
146
用ArrayList模拟栈的操作,采用递归算法。代码如下: 计算超过14个元素的栈的出栈顺序,时间就开始很长了,每增加1,时间几何级数增长。 其实出栈次序的所有可能就是卡塔兰数,求卡塔兰数几乎不需要时间,非常快,但是卡特兰数只能输出最终结果的总数,不能输出每一个出栈次序的具体数据,所以依情况而使用。 ...
分类:
其他好文 时间:
2016-05-11 09:32:50
阅读次数:
197
不论是在数论中,还是在组合数学中,都有着一些特殊的数列——斐波那契数、欧拉数,斯特林数、卡特兰数,这篇文章,笔者将带领读者去探寻历代数学家是如何从一些简单基本的问题中提炼出这些特殊的数列。 斯特林数: 斯特林数有两类,分别基于这不同情境的问题,我们首先介绍第二类斯特林数。 第二类斯特林数基于这样一个 ...
分类:
其他好文 时间:
2016-05-04 22:24:02
阅读次数:
265
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5673 分析: 这道题是一道裸的默慈金数,比较容易想到的是用卡特兰数来做。不了解的可以先学习一下。 卡特兰数:http://www.cnblogs.com/yaoyueduzhen/p/5456490.h ...
分类:
其他好文 时间:
2016-05-03 23:26:32
阅读次数:
343
一、Catalan数的定义 令h(0)=1,h(1)=1,Catalan数满足递归式:h(n) = h(0)*h(n-1) + h(1)*h(n-2) + ... + h(n-1)*h(0) (n>=2) 该递推关系的解为:h(n) = C(2n,n)/(n+1),n=0,1,2,3,... (其中 ...
分类:
其他好文 时间:
2016-05-03 22:06:56
阅读次数:
252
题目链接:点击打开链接
思路:卡特兰数可以用来求括号序列的个数, 用了组合数学的知识。 该题其实就等价于求一个括号序列的个数, 因为满足任意时刻, 向右的步数大于等于向左的步数。 但是该题还有停止不动的情况, 所以我们不妨枚举向右的步数, 然后求出括号序列的组合数, 然后剩下的就是停止不动的步数, 用组合数插空即可。 另外, 除法取模要取逆元, 我们可以线性预处理出所有逆元。
细节参见代码:
...
分类:
其他好文 时间:
2016-04-29 19:51:51
阅读次数:
174
题目链接:点击打开链接
思路:卡特兰数可以用来求括号序列的个数, 用了组合数学的知识。 该题其实就等价于求一个括号序列的个数, 因为满足任意时刻, 向右的步数大于等于向左的步数。 但是该题还有停止不动的情况, 所以我们不妨枚举向右的步数, 然后求出括号序列的组合数, 然后剩下的就是停止不动的步数, 用组合数插空即可。 另外, 除法取模要取逆元, 我们可以线性预处理出所有逆元。
细节参见代码:
...
分类:
其他好文 时间:
2016-04-26 21:52:31
阅读次数:
137
附上题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5673, 这个题的大意是在坐标原点有一个机器人, 这个机器人每次可以选择向左走向右走休息一秒, 但是不能走向负半轴, 现在机器人进过一系列运动之后返回了坐标原点, 问你有多少种情况可以使机器人到达坐标 ...
分类:
其他好文 时间:
2016-04-25 20:59:24
阅读次数:
243
小兔的棋盘 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 8819 Accepted Submission(s): 4595 Problem D ...
分类:
其他好文 时间:
2016-04-23 21:07:56
阅读次数:
188