题目链接:http://codeforces.com/problemset/problem/414/B

dp[i][j]表示长度为i、最后一个数字为j的合法序列总数

dp[1][1...2000]都是1

后面用dp[i-1][j] 去更新 dp[i][j*t] (1 <= j*t <= 2000) 即用因子去更新它的倍数

表面上看是2000^3的复杂度会爆 其实不用算那么多次

最外层循环是2000

分析第二层和第三层 需要算 2000/1 + 2000/2 + 2000/3 + 2000/4 + ... + 2000/2000 次

即2000 * (1/1 + 1/2 + 1/3 + ... + 1/2000)

后面的括号是一个【调和级数】 利用高等数学知识可知 它是有上限的 为自然对数e

所以本算法的时间复杂度实际上仅为 e*2000*2000

绰绰有余

因为下标从1开始计数

然后一开始fill的时候没注意看wa了几炮T^T

#include <cstdio>
#include <cstdlib>
#include <ctime>
#include <iostream>
#include <cmath>
#include <cstring>
#include <algorithm>
#include <stack>
#include <set>
#include <queue>
#include <vector>using namespace std;const int maxn = 2010;
const int M = 1000000007;int dp[maxn][maxn];int main()
{//freopen("in.txt", "r", stdin);int n, k;scanf("%d%d", &n, &k);fill(dp[1] + 1, dp[1] + 2001, 1);for(int i = 2; i <= k; i++){for(int j = 1; j <= 2000; j++){for(int t = 1; j*t <= 2000; t++){dp[i][j*t] = (dp[i][j*t] + dp[i-1][j]) % M;}}}int ans = 0;for(int i = 1; i <= n; i++)ans = (ans + dp[k][i]) % M;printf("%d\n", ans);return 0;
}

转载于:https://www.cnblogs.com/dishu/p/4295089.html

cf 414B Mashmokh and ACM 动态规划相关推荐

  1. B. Mashmokh and ACM

    414B. Mashmokh and ACM:题目 1400分就进入经典dp了 题意:给你1-n的数,构造一个长度为k的串,后一个数能整除前一个数 #include <bits/stdc++.h ...

  2. 算法比赛经历--蓝桥杯,天梯赛,力扣,牛客,cf,acwing,acm

    第一次蓝桥杯,是去年,用c++写,混了个省二等. 今年蓝桥杯,用java写,水进上海前三,混了个省一等,国赛混了个二等 天梯赛混了个团三... 然后是查缺补漏,扩展算法知识点,真枯燥,临近白发,刷题太 ...

  3. 【DP专辑】ACM动态规划总结

    转载请注明出处,谢谢.   http://blog.csdn.net/cc_again?viewmode=list          ----------  Accagain  2014年5月15日 ...

  4. ACM 动态规划(简称dp) 分类

    转载自:   http://blog.csdn.net/cc_again?viewmode=list          ----------  Accagain  2014年5月15日 动态规划博客地 ...

  5. acm - 动态规划模板

    动态规划 思维导图: 数字三角形模型 每次只能向下走或者向右走.从起点走到终点. 题目给定一个 n × n n \times n n×n 的矩阵,矩阵中的每个格子上有一个价值为 w w w 的物品.给 ...

  6. 杭电ACM 动态规划 1 数塔

    Problem Description 在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的: 有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大 ...

  7. CSP-J NOIP NOI数学与动态规划

    NOIP数学 NOIp数学_M_oisture的博客-CSDN博客_noip数学 https://www.cnblogs.com/zzyh/p/7241897.html [总结]noip数学汇总 [总 ...

  8. 蓝桥杯总结!绝对干货!!

    关于一个很菜很菜的菜鸡,菜到普通二本的校赛落选,如何,自费逆袭省一,再到国三 文章目录 个人情况 关于300到底值不值得冲 关于我如何备赛 第一坑:备赛刷LeetCode(寄) 数据结构课 语法基础 ...

  9. CCF认证训练行动路线图

    通过CCF认证的训练题选自三个方面,一是CCF认证试题,二是使用北大百练的练习题等等,三是ACM-ICPC的练习题. CCF认证的试题是必须练习的,通过CCF试题的练习有助于了解试题风格特点.然而CC ...

最新文章

  1. linux 为什么 c语言,为什么C程序里一定要写main函数
  2. 安卓问题总结一(The connection to adb is down)
  3. Python的可变类型和不可变类型
  4. TensorFlow 2.0 mnist手写数字识别(CNN卷积神经网络)
  5. 十天冲刺---Day5
  6. 深度学习中batch-size介绍
  7. Everything搜索工具不能搜索硬盘文件夹问题解决
  8. mdpi Algorithms 期刊word 模板下载
  9. Excel使用VBA自动调整列宽
  10. php字符串转拼音,php程序如何把中文字符转换为拼音
  11. 解决问题Uncaught SyntaxError: The requested module ‘/node_modules/hls.js/dist/hls.js‘ does not provide
  12. 网络性能指标及测试方法
  13. 实际BCI应用:异步EEG/EOG BCI手抓取和释放的可行性
  14. 华为服务器管理工具uMATE
  15. 微信点餐小程序开发_分享微信点餐小程序可以实现哪些功能
  16. win10系统解决office16的VBE6EXT.OLB不能被加载的问题
  17. Linux与数据结构 2019-2-1
  18. 用python画星空的代码简单-【Python】手把手教你绘制星空旅游线路图
  19. Clion~Clion常用配置和插件
  20. IBM硬件默认的管理地址

热门文章

  1. android源代码 abi,Android内核源码Abi目录学习笔记
  2. linux卸载hadoop版本,centos6.5 安装hadoop1.2.1的教程详解【亲测版】
  3. python时间序列峰值检测_如何检测和过滤时间序列数据的峰值?
  4. eclipse关闭mysql数据库,有关于用eclipse连接mysql数据库出现的问题以及解决办法
  5. python中如何判断两个字符串是否相等_python怎样判断两个字符串是否相同
  6. c语言课程设计的摘要,投票程序设计-C语言课程设计摘要.doc
  7. linux 查询wwid命令,linux肿么查看硬盘的wwid
  8. idea直连linux部署项目,idea项目打包和在linux的部署
  9. c++中static_cast用法与uchar/char的区别
  10. 【机器视觉案例】(8) AI视觉,手势控制电脑鼠标,附python完整代码