题意:

有多少个n个节点的有根树,满足每层节点的子节点个数相同,输出该数目除以1e9+7的余数。

分析:

这种题目就属于那种,看起来很高冷,读完题更高冷。

言归正传,根据题意,这棵树是关于根节点对称的,对称性非常好,根节点下面的子树也完全相同。

所以就有了如下递推关系:

//  Created by Chenhongwei in 2015.
//  Copyright (c) 2015 Chenhongwei. All rights reserved.#include "iostream"
#include "cstdio"
#include "cstdlib"
#include "cstring"
#include "climits"
#include "queue"
#include "cmath"
#include "map"
#include "set"
#include "stack"
#include "vector"
#include "sstream"
#include "algorithm"
using namespace std;
const int inf=1e8;
const int maxn=1e5;
const int mod=1e9+7;
typedef long long ll;
int dp[1100];
int main()
{   //ios::sync_with_stdio(false);// freopen("in.txt","r",stdin);//freopen("out.txt","w",stdout);memset(dp,0,sizeof dp);dp[1]=dp[2]=1;dp[3]=2,dp[4]=3;for(int i=5;i<=1005;i++)for(int j=1;j<=i-1;j++)if((i-1)%j==0)dp[i]+=dp[j],dp[i]%=mod;int n,kase=0;while(~scanf("%d",&n))printf("Case %d: %d\n",++kase,dp[n]);return 0;
}

uva 1645 count相关推荐

  1. UVA 1645 - Count(简单DP)

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

  2. UVA 1645 Count——dp

    dp[i]表示i个节点的树的情况数,那么求dp[i]时我们可以先拿出一个点作为根节点,这时还剩i-1个点,这i-1个点可以划分成数量为(i-1)/j大小为j的子树当且仅当(i-1)%j==0,而划分成 ...

  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 264 - Count on Cantor

    <算法竞赛入门经典>5.4.1的题目,大意是,给出一个数表,如下: 第一项是1/1, 第二项是1/2, 第三项是2/1, 第四项是3/1, 第五项是2/2.....给一个正整数n,求第n项 ...

最新文章

  1. 根据卡号获取银行卡名字
  2. 分享《组播技术白皮书》
  3. 监测利器cacti服务安装
  4. kubernetes高级之创建只读文件系统以及只读asp.net core容器
  5. 配置无密码登录linux,linux ssh无密码登录配置
  6. [转]wchar_t char std::string std::wstring CString 转换
  7. linux下c语言版线程池
  8. 计算机学科技术前沿:INFOCOM和SIGCOMM会议信息
  9. 数据结构(C语言)-串
  10. VisualStudio2017密钥(key)
  11. 蒲公英超级签名原理(手动做超级签名)
  12. 在Linux Mint 19.2 XFCE(x64)中安装Canon LBP2900+打印机驱动程序
  13. 应届生年薪 40w 在杭州可以过上什么样的生活?
  14. zabbix 官网提供的监控 postgresql 的模板
  15. 红米note10和红米note10pro的区别
  16. 经济法论文选题有什么推荐吗?
  17. 手环、APP监测睡眠可靠吗?
  18. 新手怎么制作word表格
  19. 「TShark学习」TShark抓包笔记
  20. 如何寻找英文外链资源,英文SEO高质量外链建设

热门文章

  1. 面试题promise原理
  2. 获取网易云音乐封面图片
  3. 捕鱼问题 matlab,鱼捕捞问题(数学建模).docx
  4. SWING实现类似微信的泡泡聊天界面
  5. 【Java】JavaFx桌面编程整理
  6. 邓凡平WIFI学习笔记4:WiFi Simple configuration
  7. 第四课:股票,多数人的找死,少数人的等死
  8. ps人物磨皮美容插件:Pro Retouch Panel(支持ps2021)
  9. c罗python可视化分析_鸟枪换炮,利用python3对球员做大数据降维(因子分析得分),为C罗找到合格僚机...
  10. 2018黑马前端视频教程视频与源码全