【编程题练习】牛客-阿里:二叉树(卡特兰数)
小强现在有nn个节点,他想请你帮他计算出有多少种不同的二叉树满足节点个数为nn且树的高度不超过mm的方案.因为答案很大,所以答案需要模上1e9+7后输出.
树的高度: 定义为所有叶子到根路径上节点个数的最大值.
输入描述:
第一行输入两个正整数n和m
输出描述:
输出一个答案表示方案数.
示例1
输入
3 3
输出
5
'''
卡特兰数问题:h(n)= h(0)*h(n-1)+h(1)*h(n-2) + ... + h(n-1)*h(0) (n>=2)
= C(2*n,n)/(n+1)
'''
n,m =map(int,input().split())
mod = 10**9+7
dp = [[0]*(m+1) for _ in range(n+1)]
# 初始状态:结点数为零,只有一种方案
dp[0] = [1]*(m+1)
# i表示节点个数,j表示树的深度
for i in range(1,n+1):for j in range(1,m+1):for k in range(i):# 左树k个节点,右树i-k-1个节点,且左右子树都要求小于等于j-1dp[i][j] = dp[i][j] + (dp[k][j-1]* dp[i-k-1][j-1])
print(int(dp[n][m]% mod))
【编程题练习】牛客-阿里:二叉树(卡特兰数)相关推荐
- 华为机试python编程题_牛客网华为机试题之Python解法
牛客网华为机试题之Python解法 第1题 字符串最后一个单词的长度 a = input().split(" ") print(len(a[-1])) 第2题 计算字符个数 a = ...
- 牛客网编程题python_牛客网数据结构练习题
第一次使用牛客做编程题,刚开始不了解如何输入输出,查了查才知道.我用的是语言是 Javascript v8 6.0.0 readline() 表示得到输入的字符串,如果是多行的话,每readline一 ...
- 基础编程题之牛客网星际密码
文章目录 题目 解题思路 代码 题目 牛客 解题思路 本题的基本意思就是给你给定一个矩阵:(1110)\begin{pmatrix} 1 & 1 \\ 1 & 0 \end{pmatr ...
- c语言刷题(牛客网)
c语言刷题(牛客网100道基础题) 学习没有捷径,唯有重复多练,这是浩克为大家找的牛客网刷题资源,如果你正在学或者学完了都可以来检验一下自己能力. 浩克也会专门开个专栏来讲解c语言刷题,让大家对c语言 ...
- 一些简单的java编程题(1) ————求10000以内的完数
版权声明:本文为博主原创文章,未经博主允许不得转载. /* (程序头部注释开始) 版权声明:保留个人权利. 如程序有不当之处,敬请指正.* 文件名称: <一些简单的java编程题(1) ---- ...
- 刷题系列--牛客网基础OJ编程130题(上)
目录 前言 BC1:实践出真知 BC2 我是大V BC 3 有容乃大 BC 6 小飞机 BC 7缩短二进制 BC 8十六进制转十进制 BC 9 printf的返回值 BC 10 成绩输入输出 BC 1 ...
- 【C语言刷题】牛客网编程入门130精选题目(二)
牛客网编程入门130题–精选(二) 本篇文章衔接博客:牛客网编程入门130–精选(一) 文章目录 牛客网编程入门130题--精选(二) 题目OJ链接 1.图形相似度 2.有序数组中插入一个数 3.有序 ...
- 刷题记录:牛客NC17889新建 Microsoft Office Word 文档
传送门:牛客 题目描述: CSL正在学习<计算机办公自动化>文件的建立与删除. CSL发现,当他新建一个word文档时,会得到一个名为"新建 Microsoft Office W ...
- 牛客网———二叉树遍历
题目描述 编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储). 例如如下的先序遍历字符串: ABC##DE#G##F### 其中"#"表示的 ...
最新文章
- struts2_对Map进行双层迭代
- 在spring boot 配置actuator
- 函数节流你应该知道的那点事,建议收藏!
- php://input allow_url_include,php allow_url_include的应用和解释_PHP教程
- 【Java】字符串String操作
- 【免费毕设】PHP校园二手信息网站的设计与开发(源代码+论文)
- 关于解决miui10国际版刷入之后无法认证的问题
- 秃友进销存标准版内存注册机 Cracked.By.HackWm.
- 【毕业设计全篇论文和源码】基于SSM的实体商城商户在线租赁以及信息管理系统的设计与实现(多人在线聊天室,微信扫码支付,在线签字,PDF合同在线生成,商户评分)
- 考研 |高等数学 Chapter 1
- 手机人像摄影入门简易四步法
- 微信一年的支付限额满了20万,无法支付了怎么办?
- CAD绘制粗略的示坡线
- 聚苯硫醚离子液体|苯硼酸离子液体|聚缩醛离子液体|透明质酸离子液体
- Swift开发 UIColor分类Hex颜色转换
- 剑网3一直连接不上服务器,win10系统剑网3连不上服务器的解决方案
- Wacom 数位板 和冠 手绘笔 Photoshop MacOS 延时卡顿丢笔解决办法
- 25个C++ API设计错误和避免方法
- 基于微信小程序的移动智能学习平台的设计开发和实现
- TP-LINK无线网卡安装方法