题目跟卡特兰数有关

卡特兰数是一个数列,第n个卡特兰数代表,对于n个0和n个1组成的数列,存在(C(2n,n)- C(2n,n-1)+mod)%mod种方案使得该数列任意前缀中,0的数量都不小于1的数量

组合数的计算公式:

for(int i = 0; i <= n; i++)

C[i][0] = C[i][i] = 1;

for(int i = 2; i <= n; i++)

{

for(int j = 1; j <= i/2; j++)

{

C[i][j] = (C[i-1][j]+C[i-1][j-1])%mod;//杨辉三角 C(n,m) = C(n,m-1) + C(n,m);

}

}

7-4 mmh学长与出栈 (20分)

mmh学长与出栈

某天,小白询问了mmh学长一个问题,有一个数列1,2,……,n, 如果按照1,2,……,n的顺序入栈,那么有多少种不同的出栈顺序。

输入格式:

一行一个正整数n(n≤2000),表示数列1,2,……,n

输出格式:

一个整数sum,表示有多少种不同的出栈顺序, 由于该数可能较大,你只需输出其对1e9+7取模后的余数即可。

输入样例:

2

输出样例:

2
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
#define MAXN 4015
typedef long long ll;
int n;
ll C[MAXN][MAXN];
ll mod = 1000000007;
int main()
{for(int i = 0; i <= 4000; i++)C[i][0] = C[i][i] = 1;for(int i = 2; i <= 4000; i++){for(int j = 1; j <= i/2; j++){C[i][j] = (C[i-1][j] + C[i-1][j-1])%mod;C[i][i-j] = C[i][j];}}cin>>n;cout<<(C[2*n][n] - C[2*n][n-1]+mod)%mod<<endl;return 0;
}

7-4 mmh学长与出栈 (20分)相关推荐

  1. 实验4-1-3 找出最小值 (20 分)

    实验4-1-3 找出最小值 (20 分) 本题要求编写程序,找出给定一系列整数中的最小值. 输入格式: 输入在一行中首先给出一个正整数n,之后是n个整数,其间以空格分隔. 输出格式: 在一行中按照&q ...

  2. PTA 栈 (20分)(全网首发)(实现一个栈Stack,要求实现Push(出栈)、Pop(入栈)、Min(返回最小值的操作)的时间复杂度为O(1))

    题目描述: 我们知道平凡的栈有几个操作: push(value) 将 value 压入栈 pop() 将栈顶元素弹出, 并返回这个弹出的元素. 现在我们想要在平凡栈的基础上实现以下几个操作: push ...

  3. 根据入栈顺序判断出栈顺序的合法性

    这道题不管是面试还是笔试的选择题都非常爱出的一道题 题目描述: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4 ...

  4. 2-10 [搞定!]出栈序列的合法性 (20 分)

    给定一个最大容量为 M 的堆栈,将 N 个数字按 1, 2, 3, -, N 的顺序入栈,允许按任何顺序出栈,则哪些数字序列是不可能得到的?例如给定 M=5.N=7,则我们有可能得到{ 1, 2, 3 ...

  5. 023 判断出栈顺序是否正确

    1.题目 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序. 假设压入栈的所有数字均不相等.例如序列1.2.3.4.5是某栈的压栈序列,序列4.5.3.2.1是该压栈 ...

  6. python程序设计祁瑞华答案_【单选题】有六个元素 6 , 5 , 4 , 3 , 2 , 1 的顺序进栈,问下列哪一个不是合法的出栈序列? (2.0分)...

    参考答案如下 单选的顺[单选题]在 C51 的函数中,如果该函数无返回值, ______ 可以省略. 元素[多选题]下列( )属于一般常用的封头类型. 序进下列序列[填空题]Fill in the b ...

  7. 面试题之判断栈的入栈和出栈序列的合法性

    完整题目是这样的:给我们两个序列,第一个序列表示栈的压入顺序,然后让判断第二个序列是不是是否是该栈的弹出序列.现设第一个序列为[1,2,3,4,5],第二个序列为[3,2,5,4,1],可以看出这个出 ...

  8. java-模拟出栈入栈

    package com.sc;class stack{int array[]=new int[20]; //定义栈的存储结构,数组后期会进行扩容int size=0;//栈中存放数据的个数/*** * ...

  9. C语言 · 出栈次序

    标题:出栈次序 X星球特别讲究秩序,所有道路都是单行线.一个甲壳虫车队,共16辆车,按照编号先后发车, 夹在其它车流中,缓缓前行. 路边有个死胡同,只能容一辆车通过,是临时的检查站,如图[p1.png ...

  10. (24) 不可能的出栈顺序

    一.问题描述 给定两个数组,一个进栈顺序,一个出栈顺序.判定出栈数组的出栈顺序是不是有可能的. 二.Code 1 package algorithm; 2 3 import java.util.Arr ...

最新文章

  1. 20145227鄢曼君《网络对抗》逆向及Bof基础
  2. 注册CSDN帐号的见闻续
  3. java checked异常有那些,java checked exceptions
  4. 20145319 第五周学习总结
  5. 计算机一级b考试教程,全国计算机等级考试一级B教程
  6. mac系统安装npm所遇问题
  7. 基于Jupyter Notebook从头学习机器学习 | 入门资料分享
  8. HTML Agility Pack 搭配 ScrapySharp,彻底解除Html解析的痛苦
  9. 快速排序(Quick Sort)附C语言代码
  10. linux 输入法框架xim,基于XIM协议的输入法原理与实现
  11. python批量剪切视频文件
  12. ajax 传实体对象,前端ajax或axios发送数据后端实体类接受(实例和报错原因)
  13. 资深黄金专家李鑫:独创7套算点理论震惊市场
  14. C++入门——Day5_分支语句和逻辑运算符
  15. GBase XDM使用场景
  16. 向windows服务器传输大文件时提示未知错误解决方法
  17. jsp页面转换成html,jsp页面修改成html页面
  18. species-in-pieces网站动效的JS实现
  19. 图书借阅java设计报告_JAVA课程设计报告图书借阅系统.pdf
  20. 有感“IBM将大规模裁员11万人左右,幅度高达26%”

热门文章

  1. 拓端tecdat|R语言贝叶斯推断与MCMC:实现Metropolis-Hastings 采样算法示例
  2. 拓端tecdat|基于matlab的Lorenz系统仿真可视化
  3. python-next
  4. Linux中配置pacman镜像源(manjaro)
  5. Java游戏程序设计教程 第4章 游戏的运行机制
  6. golang protobuf 动态消息获取_干货|Golang拦截器的一种实现
  7. 如何用yolov5测试图片
  8. keras.preprocessing.image函数比较
  9. 深度学习(十八)基于R-CNN的物体检测-CVPR 2014
  10. python求解给定一个整数N,求N!末尾有多少个0,求N!的二进制中最低位1的位置