计数问题
2015-04-16 17:44
190 查看
<span style="font-family:Georgia, Tahoma, sans-serif;font-size:14px;">计数问题 </span> <span style="font-family:Georgia, Tahoma, sans-serif;font-size:14px;">有一颗又n个节点的树形态不固定。我们对它的形态只有一个要求,那就是同一层的节点所跟的孩子的数目相同,问这个数有多少种形态,结果对1000000007取模 </span> <span style="font-family:Georgia, Tahoma, sans-serif;font-size:14px;"> </span> |
input |
<span style="font-family:Georgia, Tahoma, sans-serif;font-size:14px;">每行输入一个数n(1<=n<=1000)</span> |
output |
<span style="font-family:Georgia, Tahoma, sans-serif;font-size:14px;">输出结果mod1000000007</span> |
sample_input |
<span style="font-family:Georgia, Tahoma, sans-serif;font-size:14px;">1 2 3 40 50 600 700 </span> |
sample_output |
<span style="font-family:Georgia, Tahoma, sans-serif;font-size:14px;">1 1 2 924 1998 315478277 825219749 </span> |
hint |
#include<iostream> #include<cstdio> using namespace std; int ans[1003]={0,1}; int main() { for(int i=2;i<=1000;i++) { ans[i]=0; for(int j=i-1;j>=1;j--) { if((i-1)%j==0) ans[i] += ans[j]; ans[i]%=1000000007; } } int n; while(scanf("%d",&n)!=EOF) { printf("%d\n",ans ); } }
AC 2:
<span style="font-family: Arial, Helvetica, sans-serif;">//我们把根节点去掉,得到m棵子树,这些子树的形状一定是相同的,而且节点数也一定相同,</span>
//因此我们考虑 把(n-1)个节点分成m份,F +=F((N-1)/M),因为要平均分,所以M是N-1的约数
#include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> using namespace std; typedef long long LL; const int mod = 1000000007; const int maxn = 1010; LL f[maxn]; int a[maxn]; int cnt; void init(int n) { cnt=0; memset(a,0,sizeof(a)); for(int i=1;i*i<=n;i++){ if(n%i==0){ a[cnt++]=i; if(i*i!=n) a[cnt++]=n/i; } } } void solve() { memset(f,0,sizeof(f)); f[1]=1; for(int i=2;i<=1001;i++){ init(i-1); for(int j=0;j<cnt;j++) f[i]=(f[i]+f[(i-1)/a[j]])%mod; } } int main() { int n; solve(); //freopen("data.in","r",stdin); //freopen("data.out","w",stdout); while(~scanf("%d",&n)){ printf("%d\n",f ); } return 0; }
相关文章推荐
- 2018山东冬令营:UPC 计数问题 (二维树状数组)
- 求解正整数拆分的计数问题
- [hdu5101]计数问题
- cocos2d-x 从onEnter、onExit、 引用计数 谈内存泄露问题
- cocos2d-x 从onEnter、onExit、 引用计数 谈内存泄露问题
- Velocity中 #foreach时velocityCount计数不起作用的问题。
- (笔记)在Quartus II与ModelSim下仿真,对计数初值的设置问题(ModelSim)(Quartus II)(Verilog)
- 小程序(六) 随机数按计数输出问题
- 【组合计数问题小总结】
- Codeforces 439E Devu and Birthday Celebration(计数问题)
- 程序员的数学 - 排列组合 - 解决计数问题的方法 - 阅读小结
- [bzoj2111][ZJOI2010]Perm 排列计数 ——问题转换,建立数学模型
- CSU 1563: Lexicography (数学计数问题)
- UVA 10253 - Series-Parallel Networks(数论+计数问题+递推)
- hdu 5119 (类似于划分数的状态定义) (DP中的计数问题)
- 组合计数问题
- 字符计数问题
- 求出栈序列,二叉树,二叉搜索树的计数问题
- 字符串计数问题(稳定基因问题)
- 等价类计数问题,置换,Burnside,Polya