题目描述 圆上有 2n 个不同的点, 两点之间连成直线段, 要求这些线段不能共点. 计算出有 12 个点时共有多少种不同的连线方式. 设计 C 语言函数, int count (int n), 计算并返回圆上有 2n 个点时的连线方式数量. 分析 我们可以使用递归的思想来求解这道题. 设 2n 个节 ...
分类:
其他好文 时间:
2020-12-08 12:24:11
阅读次数:
3
给定n个0和n个1,它们按照某种排成长度为2n的序列,满足任意前缀中0的个数都不少于1的个数的序列的数量为。 这个C数组就是Catalan数。 其中Catalan数列还可以递推求出,及。 满足Catalan数列的问题有如下几个: 1. 买票问题 2. 二叉树计数问题 3. 括号匹配数问题 4. 栈的 ...
分类:
其他好文 时间:
2020-08-08 17:37:22
阅读次数:
56
很多人不喜欢√2的表达,他们认为它不是一个数。 一、卡塔兰数 Catalan numbers 在数方面上,有个著名的数叫卡塔兰数 Catalan numbers,它是组合数学中一个常在各种计数问题中出现的数列。其中它能解决一个叫求括号化方案数量的问题。如图下: 在卡塔兰数下,设P为平衡的父字符串集。 ...
分类:
其他好文 时间:
2020-04-14 23:01:56
阅读次数:
126
有无穷多的任意尺寸矩形,搭建一个 $N$ 级正阶梯有多少种方案? Solution 任意大小为 $i$ 的阶梯,都可以由左上角放一块大小为 $j$ 的,右下角放一块大小为 $i j 1$ 的来构成,每一块内部递归填充,对应 Catalan 数 实现需要高精乘单精,高精除单精 ...
分类:
其他好文 时间:
2020-03-30 09:54:58
阅读次数:
91
卡特兰数又称卡塔兰数,英文名Catalan number,是组合数学中一个常出现在各种计数问题中出现的数列。以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)的名字来命名,其前几项为(从第零项开始) : 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16 ...
分类:
其他好文 时间:
2020-03-28 16:29:03
阅读次数:
100
# 题意 1~n 分别进栈,出栈序列可能有多少种 # 题解 进出栈序列即catalan数 C(n,2n)/n+1 1 #include <iostream> 2 #include <cstdio> 3 #include <algorithm> 4 #include <vector> 5 using ...
分类:
其他好文 时间:
2020-03-15 09:36:24
阅读次数:
109
火车进出栈问题即: 一个栈(无穷大)的进栈序列为 1,2,3,4,...,n 求有多少个不同的出栈序列? 将问题进行抽象, 假设'+'代表进栈, 则有'-'代表出栈 那么如果进栈序列为123, 则: + + + - - - 将1, 2, 3压入栈后再将3, 2, 1弹出 得到出栈序列为321 同样, ...
分类:
其他好文 时间:
2020-02-27 19:20:46
阅读次数:
97
一棵随机生成的 $n$ 个结点的有根二叉树(所有互相不同构的形态等概率出现)的叶子节点数的期望。$n \leq 10^9$ Solution $n$ 个点的二叉树个数即 Catalan 数 $f(n)=\frac{C_{2n}^n}{n+1}$ 设 $g(n)$ 为 $n$ 个点的所有二叉树的叶子个 ...
分类:
其他好文 时间:
2020-02-25 21:51:12
阅读次数:
83
卡特兰数:https://oi-wiki.org/math/catalan/ 1 #include <iostream> 2 using namespace std; 3 4 const int mod = 1e9+7; 5 6 long long qmi(long long a, long lon ...
分类:
其他好文 时间:
2020-02-08 15:35:27
阅读次数:
95
题意 liu_runda曾经是个喜欢切数数题的OIer,往往看到数数题他就开始刚数数题.于是liu_runda出了一个数树题.听说OI圈子珂学盛行,他就在题目名字里加了珂学二字.一开始liu_runda想让选手数n个节点的不同构的二叉树的数目. 但是liu_runda虽然退役已久,也知道答案就是Ca ...
分类:
其他好文 时间:
2020-02-06 01:05:08
阅读次数:
62