码迷,mamicode.com
首页 > 其他好文 > 详细

快乐的序列:)

时间:2018-03-11 02:53:12      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:int   技术   数组   one   splay   hid   nbsp   bsp   close   

这个是地址 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4011  

题意:给出n和k,用1到n的数选出k个数组成一个序列,要求是每一个后面的数能整除前面的数。

分析:其后面一个数是多少直接由他前面的数来决定:

f[i][j]表示长度为i的序列,最后一项为j的方案数,调和级数枚举j的倍数k转移给f[i+1][k]

技术分享图片
 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 const int mod=1e9+7;
 5 const int maxn=2010;
 6 int dp[maxn][maxn];
 7 int main(){
 8     ios::sync_with_stdio(false);
 9     int i,j,z,t;
10     cin>>t;
11     while(t--){
12         int n,k,ans=0;
13         cin>>n>>k;
14         memset(dp,0,sizeof(dp));
15         for(i=1;i<=n;i++) dp[1][i]=1;
16         for(i=1;i<k;i++)
17          for(j=1;j<=n;j++)
18           for(z=j;z<=n;z+=j) dp[i+1][z]=(dp[i+1][z]+dp[i][j])%mod;
19         for(i=1;i<=n;i++) ans=(ans+dp[k][i])%mod;
20         cout<<ans<<endl;
21     }
22     return 0;
23 }
View Code

 

快乐的序列:)

标签:int   技术   数组   one   splay   hid   nbsp   bsp   close   

原文地址:https://www.cnblogs.com/smallocean/p/8542830.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!