首页 > 其他 > 详细

数的划分

时间:2020-01-31 19:08:49      阅读:49      评论:0      收藏:0      [点我收藏+]

数的划分

技术分享图片

 

 

 1 //设f(n,k)为整数n拆分成k个数字的方案数,则可以分以下两种情况讨论。
 2 //(1)拆分的结果不包含1的情况:如果不包含1,我们把n拆分成k块时可以看做先将每一块加上个1,则n还剩余n-k,即f(n-k,k)
 3 //(2)拆分的结果包含1的情况:那么就直接选一个1,即f(n-1,k-1)。
 4 //
 5 //那么总递推式为 f(n,k)=f(n-k,k)+f(n-1,k-1)
 6 
 7 #include <iostream>
 8 #include <cstdio>
 9 #include <string>
10 #include <cstring>
11 #include <string>
12 #include <cmath>
13 #include <cstdlib>
14 #include <algorithm>
15 using namespace std;
16 typedef long long ll;
17 const int maxn = 205;
18 const int inf=0x3f3f3f3f;
19 const ll mod=1e9+7;
20 
21 int n,k,d[206][10];///d[i][j]把i个划分为j块
22 int main()
23 {
24     scanf("%d%d",&n,&k);
25     d[0][0]=1;
26     for(int i=1; i<=n; i++){
27         for(int j=1;j<=i&&j<=k; j++){
28             d[i][j]=d[i-1][j-1]+d[i-j][j];
29         }
30     }
31     printf("%d\n",d[n][k]);
32     return 0;
33 }

 

数的划分

原文:https://www.cnblogs.com/wsy107316/p/12245972.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!