Mashmokh and ACM
2015-12-01 21:23
253 查看
题目描述:
Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u
Submit
Status
Description
Mashmokh’s boss, Bimokh, didn’t like Mashmokh. So he fired him. Mashmokh decided to go to university and participate in ACM instead of finding a new job. He wants to become a member of Bamokh’s team. In order to join he was given some programming tasks and one week to solve them. Mashmokh is not a very experienced programmer. Actually he is not a programmer at all. So he wasn’t able to solve them. That’s why he asked you to help him with these tasks. One of these tasks is the following.
A sequence of l integers b1, b2, …, bl(1 ≤ b1 ≤ b2 ≤ … ≤ bl ≤ n) is called good if each number divides (without a remainder) by the next number in the sequence. More formally for all i(1 ≤ i ≤ l - 1).
Given n and k find the number of good sequences of length k. As the answer can be rather large print it modulo 1000000007(109 + 7).
Input
The first line of input contains two space-separated integers n, k (1 ≤ n, k ≤ 2000).
Output
Output a single integer — the number of good sequences of length k modulo 1000000007(109 + 7).
Sample Input
Input
3 2
Output
5
Input
6 4
Output
39
Input
2 1
Output
2
Hint
In the first sample the good sequences are: [1, 1], [2, 2], [3, 3], [1, 2], [1, 3].
代码实现:
写完代码,去睡觉。
Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u
Submit
Status
Description
Mashmokh’s boss, Bimokh, didn’t like Mashmokh. So he fired him. Mashmokh decided to go to university and participate in ACM instead of finding a new job. He wants to become a member of Bamokh’s team. In order to join he was given some programming tasks and one week to solve them. Mashmokh is not a very experienced programmer. Actually he is not a programmer at all. So he wasn’t able to solve them. That’s why he asked you to help him with these tasks. One of these tasks is the following.
A sequence of l integers b1, b2, …, bl(1 ≤ b1 ≤ b2 ≤ … ≤ bl ≤ n) is called good if each number divides (without a remainder) by the next number in the sequence. More formally for all i(1 ≤ i ≤ l - 1).
Given n and k find the number of good sequences of length k. As the answer can be rather large print it modulo 1000000007(109 + 7).
Input
The first line of input contains two space-separated integers n, k (1 ≤ n, k ≤ 2000).
Output
Output a single integer — the number of good sequences of length k modulo 1000000007(109 + 7).
Sample Input
Input
3 2
Output
5
Input
6 4
Output
39
Input
2 1
Output
2
Hint
In the first sample the good sequences are: [1, 1], [2, 2], [3, 3], [1, 2], [1, 3].
代码实现:
#include <iostream> #include <cstdio> #include <cmath> #include <cstring> using namespace std; int dp[2005][2005]; int main() { int n,k; int ans; while(scanf("%d%d",&n,&k)!=EOF) { memset(dp,0,sizeof(dp)); ans=0; for(int i=1;i<=n;i++) { dp[1][i]=1; } for(int i=1; i<=n; i++)//i每变动一次dp[]数组元素就会更新一次 { for(int t=1; t<k; t++)- { for(int j=1; i*j<=n; j++) { dp[t+1][i*j]+=dp[t][i]; dp[t+1][i*j]=dp[t+1][i*j]%(int)(1e9+7); } } } for(int i=1; i<=n; i++) { ans+=dp[k][i]; ans=ans%(int)(1e9+7); } printf("%d\n",ans); } return 0; }
写完代码,去睡觉。
相关文章推荐
- tapestry 018
- 使用AsyncTaskLoader获取本地数据(图片)
- GCD 与 NSOperationQueue
- 开发一个模块小结
- Java虚拟机2:Java内存区域及对象
- 信息安全系统设计基础实验五—20135214万子惠20135227黄晓妍
- 使用TabHost实现微博客户端界面,tabhost选项卡
- C语言不同进制的定义、输入、输出
- 基于angularJS的表单验证练习
- 实验报告
- redis aop持久化
- 如何取消一个本地svn目录与svn的联系(即恢复原有图标等)
- 《算法竞赛入门经典2ndEdition 》习题3-2 得分(Molar Mass, Uva1586)
- android 加密 SQLCipher和Conceal
- 信息安全系统设计基础实验二
- 字符串函数汇总2
- 趣味取小数
- 使用 python脚本获取函数调用关系
- Trie树------一种NB的数据结构
- 7-5