题目背景 栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表。 栈有两种最重要的操作,即pop(从栈顶弹出一个元素)和push(将一个元素进栈)。 栈的重要性不言自明,任何一门数据结构的课程都会介绍栈。宁宁同学在复习栈的基本概念时,想到了一个书上没有讲过的问题,而他自己无 ...
分类:
其他好文 时间:
2017-10-14 22:37:52
阅读次数:
177
题目背景 Czyzoiers 都想知道小 x 为什么对鸡蛋饼情有独钟。经过一番逼问,小 x 道出 了实情:因为他喜欢圆。 题目描述 最近小 x 又发现了一个关于圆的有趣的问题:在圆上有2N 个不同的点,小 x 想用 N 条线段把这些点连接起来(每个点只能连一条线段), 使所有的线段都不想交,他想知道 ...
分类:
其他好文 时间:
2017-10-14 22:33:04
阅读次数:
123
大家说他是卡特兰数,其实也不为过,一开始只是用卡特兰数来推这道题,一直没有怼出来,后来发现其实卡特兰数只不过是一种组合数学,我们可以退一步直接用组合数学来解决,这道题运用组合数的思想主要用到补集与几何法。 假设以矩形左下角为坐标原点,(以下所说路径均满足只能向右或向上走),我们假设原矩阵为a,那么他 ...
分类:
其他好文 时间:
2017-10-01 19:59:24
阅读次数:
237
T1 网格 显然 n==m时,卡特兰数 n,m<=100时,滚动数组的dp 正解 ans=C(n+m,n)-C(n+m,n+1) 不会证,但是可以类比 cantelan数公式 C(2*n,n)-C(2*n,n-1) #pragma GCC optimize("O2") #include <cstdi ...
分类:
其他好文 时间:
2017-10-01 16:19:05
阅读次数:
244
定义 组合:C(n,m)表示从n个元素中,取任意的m个元素的方案数。 定义式: 递推式:C(n,m)=C(n-1,m-1)+C(n-1,m) 排列:A(n,m)表示从n个元素中,取任意的m个元素并排列好的方案数 常用公式 1. C(n,m)=C(n,n-m) 2. ∑C(n,i)=2^n 证明:从n ...
分类:
其他好文 时间:
2017-09-20 12:13:38
阅读次数:
249
N个数进栈,出栈序列有多少个?这个问题属于卡特兰数(h(n)=C(2n,n)/(n+1) (n=1,2,3,...))的应用某系统中有3个并发进程,都需要同类资源4个,试问该系统保证不会发生死锁的最少资源数是______。A.9个B.10个C.4个D.12个3*3+1 ...
分类:
其他好文 时间:
2017-09-08 21:47:09
阅读次数:
114
题目:Generate Parentheses 描述:给定一个非负整数n,生成n对括号的所有合法排列。[转载] 解答: 该问题解的个数就是卡特兰数,但是现在不是求个数,而是要将所有合法的括号排列打印出来。 该问题和《编程之美》的买票找零问题一样,通过买票找零问题我们可以知道,针对一个长度为2n的合法 ...
分类:
其他好文 时间:
2017-09-07 00:04:33
阅读次数:
138
Problem Description As we all know the Train Problem I, the boss of the Ignatius Train Station want to know if all the trains come in strict-increasin ...
分类:
其他好文 时间:
2017-09-02 11:33:15
阅读次数:
260
卡特兰数 组合数优化 毫无头绪。。。 其实我们发现,我们可以把字符串的选择转换一下,我们建立坐标系,起初我们在原点(0,0),每次可以走(1,1)或(1,-1),希望最终到达(n+m,n-m),并且不经过y=-1 那么我们就可以用类似卡特兰数的方法解决这个问题,先算出随便走的方案数,我们一共要走n+ ...
分类:
其他好文 时间:
2017-09-01 12:51:28
阅读次数:
169
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5673 题目描述: 一个人从原点开始向右走, 要求N秒后回到原点, 且过程中不能到负半轴, 人有两种操作, 走动或者停止, 问总共有多少种方案? 解题思路: 类似于括号匹配问题, 和那个我去年这个时候接 ...
分类:
其他好文 时间:
2017-08-25 19:21:12
阅读次数:
131