ACM常用序列
小宋想站起来
这个作者很懒,什么都没留下…
展开
-
卡特兰数列
卡特兰数列的递推公式如下: h(n)= h(0)*h(n-1)+h(1)*h(n-2) + ... + h(n-1)h(0) (n>=2) 例如:h(2)=h(0)*h(1)+h(1)*h(0)=1*1+1*1=2 h(3)=h(0)*h(2)+h(1)*h(1)+h(2)*h(0)=1*2+1*1+2*1=5 另类递推式: h(n)=h(n-1)*(4*n-2)/(n+1); 递推关原创 2017-11-23 21:34:18 · 508 阅读 · 0 评论 -
类斯特灵数列_分盒子
将n个有标记的球放在m个没有标记的盒子里边,求解一共有多少放法? 放置规则:m=0,f(m,n)=0; m=1=n,f(m,n)=1; 解题思路:考虑第m个球的方法,假如第m个球单独放置,有f(m-1,n-1)种方法; 假如第m个球与其他球在一起,有n*f(m-1,n)种放法。 放法总数:f(m,n)=f(m-1,n-1)+n*f(m-1,n)。 #include int main(原创 2017-11-24 20:34:31 · 151 阅读 · 0 评论 -
贝尔数列_集合的划分
假设对含有n个元素的集合进行划分,则有多少种划分的方法? 这类题可以借助于贝尔数列的知识来进行解答。 贝尔数列的递推公式: a[0]=1; a[1]=1; a[n]=C(n-1,i)*a[i] (i=0~n-1)。 #include int C(int m,int n) { int i,s1=1,s2=1; for(i=0;i<n;i++) { s1*=(m-i);原创 2017-11-24 20:45:49 · 846 阅读 · 0 评论