题目就是指定n,求卡特兰数Ca(n)%m。求卡特兰数有递推公式、通项公式和近似公式三种,因为要取余,所以近似公式直接无法使用,递推公式我简单试了一下,TLE。所以只能从通项公式入手。Ca(n) = (2*n)! / n! / (n+1)!思想就是把Ca(n)质因数分解,然后用快速幂取余算最后的答案。...
分类:
其他好文 时间:
2014-12-03 13:58:09
阅读次数:
319
简单的动态规划题,一维数组就够了。递推公式是c[n] = c[n-1] + c[n-2],c[n]表示楼梯数为n时的上楼方法。ps:第一提交时由于没有释放new的int空间,所以报了一个runtime error。 1 class Solution { 2 public: 3 int cli...
分类:
其他好文 时间:
2014-11-28 18:08:06
阅读次数:
192
入门训练 Fibonacci数列 时间限制:1.0s 内存限制:256.0MB问题描述Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。输入格式输入包含一个整数n。输出格式输出一行,包含一.....
分类:
其他好文 时间:
2014-11-13 20:22:50
阅读次数:
274
动态规划,Dynamic programming,不是Dynamic planning ...将问题分成若干子问题,前面的解为后面的解所用,注意逆向推倒,找出递推公式,经典的01背包问题,晚点实现一下,这里搞一个LeetCode上面的题放着记录一下神马求二项式系数,斐波拉契...都可以用动态规划来实...
分类:
其他好文 时间:
2014-11-13 16:02:06
阅读次数:
136
火车进站问题卡特兰数引入的例子。卡特兰数递推公式:h(n)=h(n-1)*(4*n-2)/(n+1)通项公式:h(n)=c(2n,n)/(n+1)...这题需要高精度,刚好学了一下java。。。第一次写的java好丑啊,还好1y了。。import java.math.*;import java.ut...
分类:
其他好文 时间:
2014-11-11 16:21:09
阅读次数:
222
一.第二类Stirling数
定理:第二类Stirling数S(p,k)计数的是把p元素集合划分到k个不可区分的盒子里且没有空盒子的划分个数。
证明:元素在拿些盒子并不重要,唯一重要的是各个盒子里装的是什么,而不管哪个盒子装了什么。
递推公式有:S(p,p)=1 (p>=0) S(p,0)=0 (p>=1) S...
分类:
其他好文 时间:
2014-11-07 11:23:26
阅读次数:
108
用程序实现,找出从n个不同元素中,任取m(m≤n)个元素所有的组合。需要用到下面的递推公式:c(n,m)=c(n-1,m-1)+c(n-1,m)从n个元素中选取m个元素,可以拆分成:先选取最后一个元素n,再从n-1 个元素中选取m-1 个元素,然后加上从排除n的n-1 个元素中选取m元素。递归实现代...
分类:
编程语言 时间:
2014-10-31 15:13:35
阅读次数:
200
初看这道题目很像尤瑟夫问题,区别是每次都是从1开始。解法也很类似。数学解递推公式。假定第K次报数后,余下人数不超过3个人。若第K次为1-3报数,那么由这三个数的当前索引n可推上一次报数之前的编号为n+(n-1)/2,该式也很容易理解,因为每三个人就要去掉第三个人,因此(n-1)/2可以知道已经减少了...
分类:
其他好文 时间:
2014-10-30 16:51:38
阅读次数:
145
题目意思:
我们知道,在编程中,我们时常需要考虑到时间复杂度,特别是对于循环的部分。例如,
如果代码中出现
for(i=1;i
那么做了n次OP运算,如果代码中出现
fori=1;i
for(j=i+1;j
那么做了n*(n-1)/2 次OP 操作。
现在给你已知有m层for循环操作,且每次for中变量的起始值是上一个变量的起始值+1(第一个变量的起始值是1),终止值都是一个输...
分类:
其他好文 时间:
2014-10-28 13:54:46
阅读次数:
124
DP:
边界条件:dp[0][j] = 1递推公式:dp[i][j] = sum{dp[i-k][j] * dp[k-1][j-1] | 0
i对括号深度不超过j的,可以唯一表示为(X)Y形式,其中X和Y可以为空,设X有k-1对括号,则对应的方案数为dp[i-k][j] * dp[k-1][j-1]
Little Brackets
Time Limit: 2 S...
分类:
其他好文 时间:
2014-10-19 00:05:07
阅读次数:
220