原题传送:http://acm.hdu.edu.cn/showproblem.php?pid=4472

  动态规划, 记忆化搜索。

  设此时总节点数位n,则余下的节点总数为k = n - 1,因为同一级节点的子节点数要相同,只需对k的所有因子进行子结构搜索。

View Code

 1 #include <stdio.h>
 2 #include <string.h>
 3 #include <math.h>
 4 const int mod = 1000000007;
 5 const int maxn = 1000 + 2;
 6
 7 int f[maxn];
 8
 9 int cal(int n)
10 {
11     if(f[n] != -1)
12         return f[n];
13     int ans = 0, i;
14     ans += cal(n - 1);
15     int k = n - 1;
16     for(i = 2; i < n; i ++)
17     {
18         if(k % i == 0)
19             ans += cal(k - k / i * (i - 1));
20     }
21     return ans;
22 }
23
24 void init()
25 {
26     memset(f, -1, sizeof f);
27     f[0] = 0, f[1] = 1, f[2] = 1;
28     for(int i = 3; i < maxn; i ++)
29         f[i] = cal(i) % mod;
30 }
31
32 int main()
33 {
34     int n, cas = 1;
35     init();
36     while(scanf("%d", &n) == 1)
37     {
38         printf("Case %d: %d\n", cas++, f[n]);
39     }
40     return 0;
41 }

转载于:https://www.cnblogs.com/huangfeihome/archive/2012/11/19/2777887.html

HDU4472 Count相关推荐

  1. 【bzoj 1833】【codevs 1359】 [ZJOI2010]count 数字计数(数位dp)

    1833: [ZJOI2010]count 数字计数 Time Limit: 3 Sec  Memory Limit: 64 MB Submit: 2774  Solved: 1230 [Submit ...

  2. LeetCode刷题记录6——696. Count Binary Substrings(easy)

    LeetCode刷题记录6--696. Count Binary Substrings(easy) 目录 LeetCode刷题记录6--696. Count Binary Substrings(eas ...

  3. c++关于map的find和count的使用

    使用count,返回的是被查找元素的个数.如果有,返回1:否则,返回0.注意,map中不存在相同元素,所以返回值只能是1或0. 使用find,返回的是被查找元素的位置,没有则返回map.end(). ...

  4. 递归/归并:count of smaller numbers求逆序数

    已知数组nums,求新数组count,count[i]代表了在nums[i]右侧且比 nums[i]小的元素个数. 例如: nums = [5, 2, 6, 1], count = [2, 1, 1, ...

  5. bzoj 2588 Spoj 10628. Count on a tree (可持久化线段树)

    Spoj 10628. Count on a tree Time Limit: 12 Sec  Memory Limit: 128 MB Submit: 7669  Solved: 1894 [Sub ...

  6. windows7下解决caffe check failed registry.count(type) == 1(0 vs. 1) unknown layer type问题

    在Windows7下调用vs2013生成的Caffe静态库时经常会提示Check failed: registry.count(type) == 1 (0 vs. 1) Unknown layer t ...

  7. 1093 Count PAT‘s

    这题出现在"活用递推"专题下面,所谓递推就是这一步的结果和上一步的结果有直接联系.对于本题来说,从左到右,记到当前位置,一共出现的P的个数,如果当前位置是P,则个数就是上一位的加1 ...

  8. Mybatis中Oracle和Mysql的Count字段问题

    Mybatis中Oracle和Mysql的Count字段问题 我们在进行项目开发时经常会碰到查询总数的问题,所以我们直接是用select count(1) from table来进行查询.那么在Myb ...

  9. LINQ to SQL语句之 Count/Sum/Min/Max/Avg

    Count/Sum/Min/Max/Avg操作符 适用场景:统计数据吧,比如统计一些数据的个数,求和,最小值,最大值,平均数. Count 说明:返回集合中的元素个数,返回INT类型:不延迟.生成SQ ...

最新文章

  1. form中的onblur事件简单的介绍
  2. mac mysql start 失败_mac mysql 启动出错,请教解决办法
  3. datatables ajax 数组,datatables ajax row undefined
  4. luogu2839 [国家集训队]middle
  5. Cloud一分钟 | 马云发表致股东的公开信;5G算什么?中国已着手研究6G相关工作...
  6. php把buffer转化为图片_信息流广告 | 信息流广告怎么做?如何提高转化?
  7. Flow 常用知识点整理
  8. iOS开发-OC语言 (七)继承、多态、类别
  9. python 100 days github_GitHub - Andyhe2019/Python-100-Days: Python - 100天从新手到大师
  10. win10前置耳机插孔没声音_win10头戴式耳机麦克风没声音怎么办
  11. HATEOAS(Hypermedia as the engine of appliation state)是什么?
  12. python——获取矩形四个角点的坐标
  13. php判断区间数字,如何快速判断数字在那个区间?
  14. 改良IFDS扰动流场三维避障规划算法实现
  15. 彻底理解傅里叶变换(上)
  16. 域名解析(阿里云二级域名解析)
  17. C/C++实现你的浪漫表白:浪漫流星雨表白程序,
  18. jpa、mybatis、hibernate、spring data jpa区别
  19. 考研[*数据结构*]学习笔记汇总(全)
  20. How to activate office 2010

热门文章

  1. 嵌入式linux 用虚拟机,如何制作嵌入式Linux虚拟机
  2. 计算机辅助建筑设计亚洲学会,清华大学
  3. python xmxl 无法启动_问题引发由于与GI相关的python脚本中的错误,Gnome终端无法启动...
  4. vue 循环 递归组件_全局组件实现递归树,避免循环引用
  5. java知识理论_JAVA理论知识 - OSC_rnoszD的个人空间 - OSCHINA - 中文开源技术交流社区...
  6. arduino项目_quot;Arduino智能车项目quot;实战班开班!
  7. 导出txt文件宏_利用solidwords二次开发导出三维曲面方阵点坐标方法
  8. CMakeLists.txt的运行方法
  9. 多用户使用一台计算机可设置,《计算机应用基础》试卷(A)
  10. python string/list转换