卡特兰数是组合数学中一个常出现在各种计数问题中的数列。
举个栗子: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(n)为catalan数的第n+1项,令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(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);
递推关系的解为:
h(n)=C(2n,n)/(n+1) (n=0,1,2,…)
递推关系的另类解为:
h(n)=c(2n,n)-c(2n,n-1)(n=0,1,2,…)。

举个栗子:n个节点的二叉树的构成有多少种情况。
h(0)=1
先考虑一个h(1)=1明显。
两个节点的时候,h(2)=h(1)+h(0)=2;
我们推广到一般的情况,n个节点的二叉树的情况分析,根节点是一定有的,只要去考虑左子树以及右子树的情况,左子树为0时h(0)*h(n-1),左子树有1个节点的时候h(1)*h(n-2),以此类推,根节点的左子树视作另一个根节点。即h(n)= h(0) * h(n-1)+h(1) * h(n-2) + … + h(n-1) * h(0) (n>=2)。

超级卡特兰数:click

题目:click
题意:先考虑对角线一边,另一边直接乘以2即可。

0 1 2 3 4
0 1 1 1 1 1
1 1 2 3 4
2 2 5 9
3 5 14
4 14

因为考虑的是最短路径所以一个劲的往右或者往下就是贡献。
dp[i][j]=dp[i-1][j]+dp[i][j-1];
而对角线的数即是卡特兰数。

#include<cmath>
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<cstdlib>
#include<istream>
#include<vector>
#include<stack>
#include<set>
#include<map>
#include<algorithm>
#include<queue>
#define inf 0x3f3f3f3f
#define llinf 0x3f3f3f3f3f3f3f3f
#define MAX_len 50100*4
using namespace std;
typedef long long ll;
const int mod=998244353;
ll dp[40][40];
int main()
{ll i,j,k;memset(dp,0,sizeof(dp));for(i=0;i<=40;i++)dp[0][1]=1;for(i=1;i<=40;i++){for(j=i;j<=40;j++){dp[i][j]=dp[i-1][j]+dp[i][j-1];}}int n;int yy=1;while(scanf("%d",&n)&&n!=-1){printf("%d %d %lld\n",yy++,n,dp[n+1][n+1]*2);}return 0;
}

卡特兰数(n个节点的二叉树情况数量+hdu2067) (超级卡特兰数(施罗德数))相关推荐

  1. 【算法讲11:卡特兰数】默慈金数 | 那罗延数 | 施罗德数

    [算法讲11:卡特兰数]默慈金数 | 那罗延数 | 施罗德数 ⌈\lceil⌈卡特兰数⌋\rfloor⌋Catalan Number 引入 思考 ⌈\lceil⌈卡特兰数⌋\rfloor⌋的性质 ⌈\ ...

  2. 阿里云天池超级码力在线编程大赛初赛 第2场 ABCD(A.计算几何 判断点在三角形内 D.大施罗德数/超级卡特兰数)

    心得 打了一下被群友吐槽的比赛,阅读体验极差 阴间题面,读题1小时,AC5min,原题警告 思路来源 https://blog.csdn.net/PleasantlY1/article/details ...

  3. [超级码力在线编程大赛初赛(二)] 4.小栖的金字塔 施罗德数(超级卡特兰数)

    题目链接:小栖的金字塔 题意 小栖可以在不同点间移动,假设小栖现在在(x1,y1){(x_1,y_1)}(x1​,y1​),他能够移动到的下一个点(x2,y2){(x_2,y_2)}(x2​,y2​) ...

  4. N个节点的二叉树的形态数详细推导

    0.总结 Get to the key point firstly, the article comes from LawsonAbs! N个节点的二叉树的形态数的推导 卡特兰数 相关例题的分析 1. ...

  5. cron引起inode节点用光的情况

    cron引起inode节点用光的情况 /var/spool/postfix/maildrop/ 中有大量的文件 今天有开发反应,磁盘一直写不进去,查看日志发现,尽是can not open 的提示,但 ...

  6. 给定一个n节点的二叉树,写出一个O(n)时间非递归过程,将该树每个节点关键字输出,可以使用一个栈作为辅助数据结构(算法导论第十章10.4-3)

    给定一个n节点的二叉树,写出一个O(n)时间非递归过程,将该树每个节点关键字输出,可以使用一个栈作为辅助数据结构 (算法导论第十章10.4-3) template<typename T> ...

  7. 给定一个n节点的二叉树,写出一个O(n)时间递归过程,将该树每个节点关键字输出(算法导论第十章10.4-2)

    给定一个n节点的二叉树,写出一个O(n)时间递归过程,将该树每个节点关键字输出 (算法导论第十章10.4-2) #include <iostream> template<typena ...

  8. n个节点的二叉树n+1_使用C ++程序将链接列表中的最后N个节点附加到第一个

    n个节点的二叉树n+1 Given a linked list and an integer n, append the last n elements of the LL to front. Ass ...

  9. n个节点的二叉树n+1_使用C ++程序删除链接列表的M个节点后的N个节点

    n个节点的二叉树n+1 Problem statement: 问题陈述: Given a Linked List, we have to delete N numbers of nodes after ...

最新文章

  1. tensorflow算法实战:普通的数据训练和迁移学习之后的数据训练进行图像的识别(包括前端页面)
  2. BZOJ3559 : [Ctsc2014]图的分割
  3. 被七牛云OSS对象存储测试域名回收后正确数据迁移姿势!
  4. 一般编译器错误_Java程序员最容易犯的10个错误
  5. integer加1_AP双语数学常用的术语(1)
  6. python基础教程:变量的使用
  7. 网络攻防 第三周学习总结
  8. Spork: Pig on Spark实现分析
  9. math.asin_JavaScript中带有示例的Math.asin()方法
  10. 初次使用Apache、ip地址、防火墙、域名、DNS、hosts文件、端口、URL介绍、Apache配置文件、配置虚拟主机、请求响应、http协议、
  11. GridViewDetailsView对XML文件增删改
  12. python有关函数的面试题
  13. cocos3 动作回调函数
  14. notification 是同步的
  15. ActiveMQ—Windows操作系统中如何安装启动ActiveMQ
  16. 大一学科不挂科 速冲方法推荐(高数上+高数下+线代+大物)
  17. 【语义分割—SegNet】SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation
  18. 豆瓣电影数据可视化项目
  19. poker游戏编码规则
  20. webshell 一句话木马

热门文章

  1. 倩女幽魂手游服务器维护多久,倩女幽魂手游11月22日在线维护公告
  2. RT-Thread 驱动 PIN 设备
  3. template 的 用法
  4. 唯品会的订单分库分表实践总结以及关键步骤
  5. 你只管打开这个网站,剩下的交给「卧槽」
  6. 大数据算法模型中的数据清洗
  7. Python pandas库|任凭弱水三千,我只取一瓢饮(6)
  8. 美国哈佛学院计算机硕士,美国计算机硕士申请 专业方向介绍以及院校推荐
  9. 第18章异步编程-bloc-自定义状态管理示例-BlocProvider
  10. 网站卡其cdn后不能访问_关于网站使用CDN后无法登录的解决办法