给网站做视频怎么赚钱,网站界面设计实训的意义,wordpress不加载样式表,东营网站seo顾问题目描述 一个长度为k的整数序列b1#xff0c;b2#xff0c;...#xff0c;bk#xff08;1≤b1≤b2≤...≤bk≤N#xff09;称为“好序列”当且仅当后一个数是前一个数的倍数#xff0c;即bi1是bi的倍数对任意的i#xff08;1≤i≤k-1#xff09;成立。 给定N和k#…题目描述 一个长度为k的整数序列b1b2...bk1≤b1≤b2≤...≤bk≤N称为“好序列”当且仅当后一个数是前一个数的倍数即bi1是bi的倍数对任意的i1≤i≤k-1成立。 给定N和k请算出有多少个长度为k的“好序列”答案对1000000007取模。 输入格式 一行包含2个用空格隔开的整数N和k。 输出格式 一行包含一个整数表示长度为k的“好序列”的个数对1000000007取模后的结果。 输入样例 3 2 输出样例 5 数据规模 对于40%的数据1≤N≤301≤k≤10。 对于100%的数据1≤N≤20001≤k≤2000。 题解 我们枚举因子来传递状态给倍数即可这里可以用滚动数组优化。 #include iostream
#include fstream#define MAX_N 2001
#define MAX_M 2001#define MOD 1000000007using namespace std;int n, m;
int dp[MAX_N];
int ans;int main()
{cin n m;for(register int i n; i; --i){dp[i] 1;}for(register int i 2; i m; i){for(register int j n 1; j; --j){for(register int k j 1; k n; k j){dp[k] dp[j];if(dp[k] MOD) dp[k] - MOD;}}}for(register int i n; i; --i){ans dp[i];if(ans MOD) ans - MOD;}cout ans;return 0;
} 参考程序 转载于:https://www.cnblogs.com/kcn999/p/10805301.html