火车进站出站的问题满足卡特兰数...卡特兰数的相关知识如下:

卡特兰数又称卡塔兰数,是组合数学中一个常出现在各种计数问题中出现的数列。由以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)命名。

前几项为 (OEIS中的数列A000108): 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263190, 6564120420, 24466267020, 91482563640, 343059613650, 1289904147324, 4861946401452, ...

令h(1)=1,h(2)=1,catalan数满足递归式:

例如:h(3)=h(1)*h(2)+h(2)*h(1)=1*1+1*1=2

 h(4)=h(1)*h(3)+h(2)*h(2)+h(3)*h(1)=1*2+1*1+2*1=5

h(0)=1;h(1)=1;h(2)=2;h(3)=5;  ····有另类的递归式

另类递归式:

  h(n)=h(n-1)*(4*n-2)/(n+1);

  该递推关系的解为:

h(n)=C(2n,n)/(n+1) (n=1,2,3,...)

可以看出卡特兰数是一个大数据的问题,处理大数据问题一般是将数据的各位存放在一个数组中....

 //h( n ) = ( ( 4*n-2 )/( n+1 )*h( n-1 ) );

 #include<stdio.h>

 //*******************************
//打表卡特兰数
//第 n个 卡特兰数存在a[n]中,a[n][0]表示长度;
//注意数是倒着存的,个位是 a[n][1] 输出时注意倒过来。
//*********************************
int a[][];
void ktl()
{
int i,j,yu,len;
a[][]=;
a[][]=;
a[][]=;
a[][]=;
len=;
for(i=;i<;i++)
{
yu=;
for(j=;j<=len;j++)
{
int t=(a[i-][j])*(*i-)+yu;
yu=t/;
a[i][j]=t%;
}
while(yu)
{
a[i][++len]=yu%;
yu/=;
}
for(j=len;j>=;j--)
{
int t=a[i][j]+yu*;
a[i][j]=t/(i+);
yu = t%(i+);
}
while(!a[i][len])
{
len--;
}
a[i][]=len;
} }
int main()
{
ktl();
int n;
while(scanf("%d",&n)!=EOF)
{
for(int i=a[n][];i>;i--)
{
printf("%d",a[n][i]);
}
puts("");
}
return ;
}

最新文章

  1. Git学习笔记与IntelliJ IDEA整合
  2. SQLServer 随机生成指定范围的日期
  3. canvas初体验之基本线条
  4. gcc与makefile编译 BY 四喜三顺
  5. 浅谈MySQL Replication(复制)基本原理
  6. CI 笔记7,easyui 异步加载
  7. MVC3中 ViewBag、ViewData和TempData的使用和区别(不是自己写的)
  8. js blog
  9. windows下cocos2dx3.0开发环境及Android编译环境搭建
  10. EF操作sqlite数据库时的项目兼容性问题
  11. 微信小程序开发系列(一)小程序开发初体验
  12. COM与.NET程序集导出和部署COM组件
  13. Unity利用Sapi进行windows语音开发
  14. MySql技术内幕之MySQL入门(2)
  15. bootstrap 组件之&quot;导航条&quot;
  16. eclipse下如何使用Hibernate反转工程生与数据库对应的实体类和映射文件(以MySQL为例)
  17. Hangfire源码解析-如何实现可扩展IOC的?
  18. 时序数据库InfluxDB安装及使用
  19. 前端----css 选择器
  20. Kattis之旅——Fractional Lotion

热门文章

  1. eclipse配置lombok
  2. Red hat linux 下配置Java环境(jdk)
  3. L119
  4. hdu5087 Revenge of LIS II (dp)
  5. NAT路由器打洞原理
  6. PHP判断键值数组是否存在,使用empty或isset或array_key_exists(转)
  7. 洛谷【P2629】好消息,坏消息
  8. poj 2154 Color——带优化的置换
  9. 框架Mockito
  10. 图解缓存淘汰算法一之LRU