题目大意:

输入n,m ;二叉树

输出 n个点分为m层 的方案数; 每个点的分支要么是0要么是2

Sample Input

5 3

Sample Output

2

即 两个方案为
         O                     O
        /   \                   /   \
      O    O     和      O    O
     /   \                          /   \
   O    O                     O    O
 
 
关于 dp[ i ][ j ] = dp[ i ][ j ] + dp[ i-1-k ][ j-1 ] * dp[ k ][ j-1 ]  
可以这样理解,i 个点分为 j 层时
先取出一个点做根节点为第一层 剩下 i-1 个点则分为左右两大支
则此时 i-1 个点被分为两大支,且每支应分为 j-1 层 
则 (i-1-k 分为 j-1 层的方案)*(k 分为 j-1 层的方案)= i 分为 j 层的方案
 
 
 
 
#include <bits/stdc++.h>
#define MOD 9901
using namespace std;
int dp[][];
int main() {
int n,m;
while(~scanf("%d%d",&n,&m))
{
memset(dp,,sizeof(dp));
for(int j=;j<=m;j++)
for(int i=;i<=n;i+=)
{
if(i==) dp[i][j]=;
for(int k=;k<=i-;k+=)
dp[i][j]=(dp[i][j]+dp[i--k][j-]*dp[k][j-])%MOD;
}
printf("%d\n",(dp[n][m]-dp[n][m-]+MOD)%MOD);
}
return ;
}

最新文章

  1. Docker容器时间与宿主机时间不一致的问题
  2. HDU5840 (分块+树链剖分)
  3. 使用MongoDB C#官方驱动操作MongoDB
  4. poj 3352
  5. iOS创建界面方法的讨论
  6. Hunt the Wumpus第二个版本---多怪兽,多洞穴,洞穴间双向互通
  7. CodeForces 669E Little Artem and Time Machine
  8. Vijos P1116 一元三次方程求解【多解,暴力,二分】
  9. 代码质量管理平台SonarQube的安装、配置与使用
  10. 基于html5 plus + Mui 移动App开发(三)-食全库
  11. mysql user表root 用户误删除解决方法
  12. Headless Service 和Service
  13. Android assets res 文件夹的区别
  14. 机器学习技法笔记:12 Neural Network
  15. RNA分析要点
  16. openvswitch datapath 内核态流表创建过程(ovs_flow_cmd_new)
  17. shell脚本批量部署ssh
  18. 洛谷 P2184 贪婪大陆 解题报告
  19. vue 在 html 中自定义 tag
  20. 使用PHP并发执行任务–curl_multi应用

热门文章

  1. look at me
  2. hdu第九场多校
  3. nlp总结
  4. Harbor任意管理员注册漏洞复现CVE-2019-16097
  5. Spring 源码学习——注册 BeanDefinition
  6. 引入css文件时,css link和@import区别
  7. vue中excal表格的导入和导出
  8. Mybatis 使用的 9 种设计模式,真是太有用了~
  9. Python匹马行天下之python之父
  10. 大道浮屠诀---cwRsync同步工具的使用