UVA 1645 Count——dp
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相关推荐
- UVA 1645 - Count(简单DP)
题目链接 https://cn.vjudge.net/problem/UVA-1645 [题意] 输入n(n<=1000)统计有多少个n个结点的有根树,使得每个深度中所有结点的子结点数相同 [思 ...
- uva 1645 count
题意: 有多少个n个节点的有根树,满足每层节点的子节点个数相同,输出该数目除以1e9+7的余数. 分析: 这种题目就属于那种,看起来很高冷,读完题更高冷. 言归正传,根据题意,这棵树是关于根节点对称的 ...
- uva 1645 count 水题
题意 输入n 统计有多少个n节点的有根树 使每个深度中所有节点的子节点数相同 例如 n=4 答案是3 n = 7 答案是 10 瞬间想到递推 第一层一定放一个 那么剩下 n-1 个节点 假设放 i 个 ...
- UVa 1645 Count
题意:输入n,统计有多少个n个结点的有根树,使得每个深度中所有结点的子结点数相同.结果模1000000007. 思路:递推.根据题意,每个结点的每个子树都是相同的.所以n结果为n-1的所有约数的结果加 ...
- UVA - 1645 - Count(思路)
题意:输入n(1 <= n <= 1000),输出有n个结点且每个深度中所有结点的子节点数相同的树有多少种. 根据题意,其实要求每个子树都相同. 一个结点当作根节点,还剩下n - 1个结点 ...
- UVa 1645 - Count(递推)
给出一个数n,求n个结点的树有多少种结构满足每个结点的子结点数相同. n结点树,除去根结点,有n-1个结点,根结点的每棵子树需要完全相同,所以根结点的子树个数k,满足(n-1)%k==0.然后就可以递 ...
- UVa 1645 - Count
用打表的方法来做,蕴含着一种递推的思想. #include <iostream> #include <cstdio> using namespace std;int n, re ...
- Count UVA - 1645
题意:输入n(n<=1000),统计有多少个n结点的有根树,使得每个深度中所有节点得子节点数相同 思路:除掉第一个节点必须被放置为根节点之外,还剩下n-1个节点,那么这n-1个节点可以平均(注意 ...
- Uva 11600 期望DP
题意:n个城市,相互可达(有n(n-1)/2条边),其中有一些道路上面有妖怪,现在,从1号城市出发,随机挑取一个城市走去,这个道路上的妖怪就会被消灭,求: 在平均情况下,需要走多少步,使得任意两个城市 ...
最新文章
- [转]C C++ TDD单元测试非常好的书
- 微博VS微信,谁更有移动优势
- idea_取消自动import .*
- 基于深度学习的青菜病害区域图像语义分割与定位
- Objective-C学习之旅(四)----内存管理2----retain点语法
- 【GDB调试学习笔记】Makefile生成多个可执行文件
- 双系统装完只能u盘启动_U盘启动盘如何安装Win7+Win8双系统史上最详细教程
- 如何使用TrueCrypt加密
- Blender全新毛发工具演示露出,预计9月份正式更新
- 毕业生写论文必备!!超详细讲解参考文献格式
- 关于2022年电改政策的解读
- 传奇的缔造者——C语言之父访谈
- 6-1 定义一个矩形类(C++构造函数) (10 分)
- 【数据结构】顺序表实现超详解(保姆级教程)
- C#9结构、类与属性
- java如何循环输出一个表格,Java编程for循环输出俄文字母表
- K-Means(K均值聚类)原理及代码实现
- 计算机组成原理 习题+知识点
- 七:策略模式(不同等级会员打折算法)
- Mac 关闭双空格插入句号、自动大写首字母、拼写纠正
热门文章
- centos镜像中Everything, GnomeLive ,KdeLive ,livecd ,NetInstall的意思
- tableau 字段去重_tableau prep学习
- 阿童木录机固态硬盘MOV视频损坏修复
- rabbitmq入门(四)Topics主题模式
- Html网页设计-美食网站
- C语言习题11.3,用指针数组编程输出月份的英文表示
- 坑爹的MediaPlayer.isPlaying()
- (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
- Win10应用小技巧
- MNL(多项logit)