数论整理之特殊数two:卡特兰数

简介: 数论整理之特殊数two:卡特兰数

②卡特兰数 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,


85.png

应用:

one:括号化:矩阵连乘: P=a1×a2×a3×……×an,依据乘法结合律,不改变其顺序,只用括号表示成对的乘积,试问有几种括号化的方案?(h(n)种)


two:出栈次序:一个栈(无穷大)的进栈序列为1,2,3,…,n,有多少个不同的出栈序列:h(n) || 买票找票问题


three:凸多边形三角划分:通过若干条互不相交的对角线,把这个多边形划分成了若干个三角形。任务是键盘上输入凸多边形的边数n,求不同划分的方案数f(n)= h (n - 2)


others:


一人去她住所以北n个街区和以东n个街区处工作。每天她走2n个街区去上班。如果她从不穿越(但可以碰到)从家到办公室的对角线,那么有多少条可能的道路?


在圆上选择2n个点,将这些点成对连接起来使得所得到的n条线段不相交的方法数?


给定N个节点,能构成多少种不同的二叉搜索树?(能构成h(N)个)(这个公式的下标是从h(0)=1开始的)


n对括号正确匹配数目:3对括号:((())) ()(()) ()()() (())() (()()) 5种可能


n层的阶梯切割为n个矩形的切法数也是C(n)


86.png

87.png

Cn表示所有不同构的含n个分枝结点的满二叉树的个数(一个有根二叉树是满的当且仅当每个结点都有两个子树或没有子树)

Cn表示所有在n × n格点中不越过对角线的单调路径的个数

一个单调路径从格点左下角出发,在格点右上角结束,每一步均为向上或向右

88.png

代码:

#include <stdio.h>
unsigned long long ctl[34] = {0,1};
void calc()
{
    int i;
    for(i = 2; i < 34; i ++)
        ctl[i] = ctl[i-1]*(4*i-2)/(i+1);
}
int main()
{
    int i;
    calc();
    for(i = 0; i < 34; i ++)
        printf("%d: %llu\n",i, ctl[i]);
}//最高计算33个卡特兰数
相关文章
|
1月前
|
算法
Leecode第十六题(最接近的三数之和)
这篇文章介绍了LeetCode第16题“最接近的三数之和”的题目要求、解题思路和代码实现,该算法题目要求从给定的整数数组中找出三个数,使它们的和最接近给定的目标值。
44 0
|
6月前
|
C语言
浙大版《C语言程序设计(第3版)》题目集 练习8-2 计算两数的和与差 (10分)
浙大版《C语言程序设计(第3版)》题目集 练习8-2 计算两数的和与差 (10分)
|
6月前
|
算法 C++
【一刷《剑指Offer》】面试题 8:旋转数组的最小数字
【一刷《剑指Offer》】面试题 8:旋转数组的最小数字
|
算法 Java 测试技术
LeetCode 周赛上分之旅 #46 经典二分答案与质因数分解
学习数据结构与算法的关键在于掌握问题背后的算法思维框架,你的思考越抽象,它能覆盖的问题域就越广,理解难度也更复杂。在这个专栏里,小彭与你分享每场 LeetCode 周赛的解题报告,一起体会上分之旅。
64 0
LeetCode 周赛上分之旅 #46 经典二分答案与质因数分解
|
算法 C++
【每日算法Day 70】图解算法:小学生都会的数块数问题,你会吗?
【每日算法Day 70】图解算法:小学生都会的数块数问题,你会吗?
数论整理之特殊数one:斐波那契数列
数论整理之特殊数one:斐波那契数列
数论整理之特殊数three:142857
数论整理之特殊数three:142857
144 0
|
人工智能 算法 C++
[**算法**]关于数字反转的两道例题的分析思考
两个题目看着很像,但是细节不太一样,一个是去处理浮点,(其中有用STL大法的和将小数点前后和小数点分开进行输入的还有利用字符串的读写来处理的)还有一个是去处理整数
155 0
力扣刷题记录——682. 棒球比赛、628. 三个数的最大乘积、693. 交替位二进制数
力扣刷题记录——682. 棒球比赛、628. 三个数的最大乘积、693. 交替位二进制数
142 0
力扣刷题记录——682. 棒球比赛、628. 三个数的最大乘积、693. 交替位二进制数
|
C++
蓝桥杯练习题四 - 排它平方数(c++)
蓝桥杯练习题四 - 排它平方数(c++)
109 0