dp【i】表示i个节点的树的情况数,那么求dp【i】时我们可以先拿出一个点作为根节点,这时还剩i-1个点,这i-1个点可以划分成数量为(i-1)/j大小为j的子树当且仅当(i-1)%j==0,而划分成大小为j的子树的情况数是dp【j】,这个在之前就求出来了,所以只需要枚举一下i和j就可以打表求结果了

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
const int maxn = 1010;
const int mod = 1e9+7;
int kase = 0, n, dp[maxn];
void init() {memset(dp, 0, sizeof(dp));dp[1] = 1;for (int i = 1; i <= 1000; i++) {for (int j = 1; j < i; j++) {if ((i-1)%j) continue;dp[i] = (dp[i]+dp[j]) % mod;}}
}
int main() {init();while (~scanf("%d", &n)) printf("Case %d: %d\n", ++kase, dp[n]);return 0;
}

UVA 1645 Count——dp相关推荐

  1. UVA 1645 - Count(简单DP)

    题目链接 https://cn.vjudge.net/problem/UVA-1645 [题意] 输入n(n<=1000)统计有多少个n个结点的有根树,使得每个深度中所有结点的子结点数相同 [思 ...

  2. uva 1645 count

    题意: 有多少个n个节点的有根树,满足每层节点的子节点个数相同,输出该数目除以1e9+7的余数. 分析: 这种题目就属于那种,看起来很高冷,读完题更高冷. 言归正传,根据题意,这棵树是关于根节点对称的 ...

  3. uva 1645 count 水题

    题意 输入n 统计有多少个n节点的有根树 使每个深度中所有节点的子节点数相同 例如 n=4 答案是3 n = 7 答案是 10 瞬间想到递推 第一层一定放一个 那么剩下 n-1 个节点 假设放 i 个 ...

  4. UVa 1645 Count

    题意:输入n,统计有多少个n个结点的有根树,使得每个深度中所有结点的子结点数相同.结果模1000000007. 思路:递推.根据题意,每个结点的每个子树都是相同的.所以n结果为n-1的所有约数的结果加 ...

  5. UVA - 1645 - Count(思路)

    题意:输入n(1 <= n <= 1000),输出有n个结点且每个深度中所有结点的子节点数相同的树有多少种. 根据题意,其实要求每个子树都相同. 一个结点当作根节点,还剩下n - 1个结点 ...

  6. UVa 1645 - Count(递推)

    给出一个数n,求n个结点的树有多少种结构满足每个结点的子结点数相同. n结点树,除去根结点,有n-1个结点,根结点的每棵子树需要完全相同,所以根结点的子树个数k,满足(n-1)%k==0.然后就可以递 ...

  7. UVa 1645 - Count

    用打表的方法来做,蕴含着一种递推的思想. #include <iostream> #include <cstdio> using namespace std;int n, re ...

  8. Count UVA - 1645

    题意:输入n(n<=1000),统计有多少个n结点的有根树,使得每个深度中所有节点得子节点数相同 思路:除掉第一个节点必须被放置为根节点之外,还剩下n-1个节点,那么这n-1个节点可以平均(注意 ...

  9. Uva 11600 期望DP

    题意:n个城市,相互可达(有n(n-1)/2条边),其中有一些道路上面有妖怪,现在,从1号城市出发,随机挑取一个城市走去,这个道路上的妖怪就会被消灭,求: 在平均情况下,需要走多少步,使得任意两个城市 ...

最新文章

  1. [转]C C++ TDD单元测试非常好的书
  2. 微博VS微信,谁更有移动优势
  3. idea_取消自动import .*
  4. 基于深度学习的青菜病害区域图像语义分割与定位
  5. Objective-C学习之旅(四)----内存管理2----retain点语法
  6. 【GDB调试学习笔记】Makefile生成多个可执行文件
  7. 双系统装完只能u盘启动_U盘启动盘如何安装Win7+Win8双系统史上最详细教程
  8. 如何使用TrueCrypt加密
  9. Blender全新毛发工具演示露出,预计9月份正式更新
  10. 毕业生写论文必备!!超详细讲解参考文献格式
  11. 关于2022年电改政策的解读
  12. 传奇的缔造者——C语言之父访谈
  13. 6-1 定义一个矩形类(C++构造函数) (10 分)
  14. 【数据结构】顺序表实现超详解(保姆级教程)
  15. C#9结构、类与属性
  16. java如何循环输出一个表格,Java编程for循环输出俄文字母表
  17. K-Means(K均值聚类)原理及代码实现
  18. 计算机组成原理 习题+知识点
  19. 七:策略模式(不同等级会员打折算法)
  20. Mac 关闭双空格插入句号、自动大写首字母、拼写纠正

热门文章

  1. centos镜像中Everything, GnomeLive ,KdeLive ,livecd ,NetInstall的意思
  2. tableau 字段去重_tableau prep学习
  3. 阿童木录机固态硬盘MOV视频损坏修复
  4. rabbitmq入门(四)Topics主题模式
  5. Html网页设计-美食网站
  6. C语言习题11.3,用指针数组编程输出月份的英文表示
  7. 坑爹的MediaPlayer.isPlaying()
  8. (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  9. Win10应用小技巧
  10. MNL(多项logit)