NOJ 1214 Catalan数
来源:互联网 发布:卷积网络 pooling 编辑:程序博客网 时间:2024/06/04 01:28
2016.10.14
【题目描述】
1214.Catalan数
时限:100ms 内存限制:10000K 总时限:1000ms
描述
令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),这是n阶递推关系。
输入
一个整数N,0≤N<20
输出
给出Catalan数列中第N个数的大小并换行
输入样例
8
输出样例
1430
【解题思路】
按题意要求做就好
【代码实现】
# include <stdio.h>int a[25];int catalan(int );int main(void){ int n; scanf("%d", &n); printf("%d\n", catalan(n)); return 0;}int catalan(int n){ int i, j; int ans; if (n == 0 || n == 1) return 1; else { if (a[n]) return a[n]; ans = 0; for (i = 0; i <= n-1; ++i) ans += catalan(i)*catalan(n-i-1); return (a[n] = ans); }}
【心得体会】
Catalan数一般可用于三类应用:
1.矩阵链乘: P=a1a2a3…an,依据乘法结合律,不改变其顺序,只用括号表示成对的乘积,试问有几种括号化的方案?(h(n-1)种)
2.一个栈(无穷大)的进栈序列为1,2,3,..n,有多少个不同的出栈序列?(h(n))
3.将一个凸多边形区域分成三角形区域的方法数。(h(n-2)种)
0 0
- NOJ 1214 Catalan数
- Catalan数
- Catalan数
- Catalan数
- catalan数
- catalan数
- Catalan数
- Catalan数
- Catalan数
- Catalan数
- catalan 数。。
- Catalan数
- Catalan数
- Catalan数
- catalan数
- Catalan数
- Catalan 数
- Catalan数
- Ubuntu16.04 安装Nginx
- Java学习
- QT-多线程知识(例子:多线程下载小说)
- 在CI中使用伪静态
- Java学习
- NOJ 1214 Catalan数
- MySQL执行计划解读
- 对象的行为
- yii2学习笔记——yii2引入微信API
- 怎样阅读一本书——概述
- lamp环境源码安装文档(centos7我已经试验过,没问题)
- luogu解题报告:P3407散步【栈】【奇技淫巧】
- Java基础
- DNS原理及实战配置指南