小强现在有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))

【编程题练习】牛客-阿里:二叉树(卡特兰数)相关推荐

  1. 华为机试python编程题_牛客网华为机试题之Python解法

    牛客网华为机试题之Python解法 第1题 字符串最后一个单词的长度 a = input().split(" ") print(len(a[-1])) 第2题 计算字符个数 a = ...

  2. 牛客网编程题python_牛客网数据结构练习题

    第一次使用牛客做编程题,刚开始不了解如何输入输出,查了查才知道.我用的是语言是 Javascript v8 6.0.0 readline() 表示得到输入的字符串,如果是多行的话,每readline一 ...

  3. 基础编程题之牛客网星际密码

    文章目录 题目 解题思路 代码 题目 牛客 解题思路 本题的基本意思就是给你给定一个矩阵:(1110)\begin{pmatrix} 1 & 1 \\ 1 & 0 \end{pmatr ...

  4. c语言刷题(牛客网)

    c语言刷题(牛客网100道基础题) 学习没有捷径,唯有重复多练,这是浩克为大家找的牛客网刷题资源,如果你正在学或者学完了都可以来检验一下自己能力. 浩克也会专门开个专栏来讲解c语言刷题,让大家对c语言 ...

  5. 一些简单的java编程题(1) ————求10000以内的完数

    版权声明:本文为博主原创文章,未经博主允许不得转载. /* (程序头部注释开始) 版权声明:保留个人权利. 如程序有不当之处,敬请指正.* 文件名称: <一些简单的java编程题(1) ---- ...

  6. 刷题系列--牛客网基础OJ编程130题(上)

    目录 前言 BC1:实践出真知 BC2 我是大V BC 3 有容乃大 BC 6 小飞机 BC 7缩短二进制 BC 8十六进制转十进制 BC 9 printf的返回值 BC 10 成绩输入输出 BC 1 ...

  7. 【C语言刷题】牛客网编程入门130精选题目(二)

    牛客网编程入门130题–精选(二) 本篇文章衔接博客:牛客网编程入门130–精选(一) 文章目录 牛客网编程入门130题--精选(二) 题目OJ链接 1.图形相似度 2.有序数组中插入一个数 3.有序 ...

  8. 刷题记录:牛客NC17889新建 Microsoft Office Word 文档

    传送门:牛客 题目描述: CSL正在学习<计算机办公自动化>文件的建立与删除. CSL发现,当他新建一个word文档时,会得到一个名为"新建 Microsoft Office W ...

  9. 牛客网———二叉树遍历

    题目描述 编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储). 例如如下的先序遍历字符串: ABC##DE#G##F### 其中"#"表示的 ...

最新文章

  1. struts2_对Map进行双层迭代
  2. 在spring boot 配置actuator
  3. 函数节流你应该知道的那点事,建议收藏!
  4. php://input allow_url_include,php allow_url_include的应用和解释_PHP教程
  5. 【Java】字符串String操作
  6. 【免费毕设】PHP校园二手信息网站的设计与开发(源代码+论文)
  7. 关于解决miui10国际版刷入之后无法认证的问题
  8. 秃友进销存标准版内存注册机 Cracked.By.HackWm.
  9. 【毕业设计全篇论文和源码】基于SSM的实体商城商户在线租赁以及信息管理系统的设计与实现(多人在线聊天室,微信扫码支付,在线签字,PDF合同在线生成,商户评分)
  10. 考研 |高等数学 Chapter 1
  11. 手机人像摄影入门简易四步法
  12. 微信一年的支付限额满了20万,无法支付了怎么办?
  13. CAD绘制粗略的示坡线
  14. 聚苯硫醚离子液体|苯硼酸离子液体|聚缩醛离子液体|透明质酸离子液体
  15. Swift开发 UIColor分类Hex颜色转换
  16. 剑网3一直连接不上服务器,win10系统剑网3连不上服务器的解决方案
  17. Wacom 数位板 和冠 手绘笔 Photoshop MacOS 延时卡顿丢笔解决办法
  18. 25个C++ API设计错误和避免方法
  19. 基于微信小程序的移动智能学习平台的设计开发和实现
  20. TP-LINK无线网卡安装方法

热门文章

  1. 飞凌嵌入式技术帖——i.MX9352的GPIO怎么用?
  2. 程序员必备的英语词汇 (1)
  3. sendmessage的使用方法,避免下坑
  4. python Pulp求解线性规划问题
  5. python实现简单的办公自动化
  6. 酒店管理系统的部分功能实现代码(预订,退订,查看所有房间状态)
  7. error updating changes:Cannot identify version of git executable git.exe
  8. 软件工程第三周作业:微软必应词典案例分析
  9. 读取海康工业相机(gige)数据流
  10. uniapp 自定义tabbar