题目描述

有 N 级的台阶,你一开始在底部,每次可以向上迈最多 K 级台阶(最少 1 级),问到达第 N 级台阶有多少种不同方式。

输入输出格式

输入格式:

两个正整数N,K。

输出格式:

一个正整数,为不同方式数,由于答案可能很大,你需要输出 ans mod 100003 后的结果。

输入输出样例

输入样例#1:

5 2

输出样例#1:

8

说明

对于 20% 的数据,有 N ≤ 10, K ≤ 3;

对于 40% 的数据,有 N ≤ 1000;

对于 100% 的数据,有 N ≤ 100000,K ≤ 100。

思路

每次上台阶时肯定都是一次走上去,那么就看上次所在台阶的位置。假如说一次上四个台阶,上到第50层。那么到第五十层的步数为在第49,48,47,46,45这些方案数相加。

写一个递推关系就好了:a[n]=a[n-1]+a[n-2]+……+a[n-k] 。对于到达每一层都是这样的方法,一直算下去就好了。注意要每次取模

AC代码

#include <stdio.h>
#include <string.h>
#include <iostream>
#include <algorithm>
#include <math.h>
#include <limits.h>
#include <map>
#include <stack>
#include <queue>
#include <vector>
#include <set>
#include <string>
#define ll long long
#define ms(a) memset(a,0,sizeof(a))
#define pi acos(-1.0)
#define INF 0x3f3f3f3f
const double E=exp(1);
const int maxn=1e6+10;
const int mod=100003;
using namespace std;
int a[maxn];
int main(int argc, char const *argv[])
{ios::sync_with_stdio(false);int n,k;cin>>n>>k;ms(a);a[0]=1;for(int i=1;i<=n;i++){for(int j=1;j<=k&&j<=i;j++)a[i]=(a[i]%mod+a[i-j]%mod)%mod;}cout<<a[n]%mod<<endl; return 0;
}

转载于:https://www.cnblogs.com/Friends-A/p/10324431.html

洛谷 1192:台阶问题(递推,DP)相关推荐

  1. [洛谷]P1936 水晶灯火灵 (#递推 -1.3)

    题目描述 爱与愁大神兴高采烈地踏出妖精系道馆--他已经获得了妖精系徽章(鼓掌)!可是一出门就遇到一群パンプジン(Because today is Halloween)!仲谋半?没事,爱与愁大神手上还仅 ...

  2. 2019 ICPC Asia Nanjing Regional C.Digital Path(拓扑排序递推DP)

    整理的算法模板合集: ACM模板 题目传送门 三段题面,只有第三段是有用的-前两段又长单词又难懂,就是在讲故事...不过针对四种情况给出四个图帮助我们理解题意是真的赞,可能出题人怕我们看不懂吧(第一句 ...

  3. 解题报告:luogu P2272 [ZJOI2007]最大半连通子图(tarjan缩点、递推DP、hash、set判重)

    这时yxc上课时讲解的截图. 一般用到tarjan算法的题目步骤都非常相似: tarjan算法 缩点,建图(这里要判重) 按照拓扑序递推(这里缩点以后逆向就已经是拓扑序了)/ 循环遍历新图求解答案. ...

  4. 洛谷P2507 [SCOI2008]配对 题解(dp+贪心)

    洛谷P2507 [SCOI2008]配对 题解(dp+贪心) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1299251 链接题目地址:洛谷P2507 [S ...

  5. hdu1978(递推dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1978 分析: 递推DP. dp[][]表示可以到达改点的方法数. 刚开始: 外循环扫描所有点dp[x] ...

  6. 递推DP URAL 1119 Metro

    题目传送门 1 /* 2 题意:已知起点(1,1),终点(n,m):从一个点水平或垂直走到相邻的点距离+1,还有k个抄近道的对角线+sqrt (2.0): 3 递推DP:仿照JayYe,处理的很巧妙, ...

  7. python跳台阶_递推典型算法:猴子爬山,跳台阶,爬楼梯(牛客网)、魔法深渊(快手)----Python、Java...

    递推算法的基本思想是把一个复杂的.庞大的计算过程转化为简单过程的多次重复,其首要问题是得到相邻的数据项之间的关系,即递推关系.以猴子爬山为例. 1.问题的提出 一个顽猴在一座有30级太假的小山上爬山活 ...

  8. 递推DP HDOJ 5459 Jesus Is Here

    题目传送门 题意:简单来说就是sn = sn-1 + sn-2递推而来,求其中所有c字符的:∑i<j:sn[i..i+2]=sn[j..j+2]=''cff"(j−i) mod 530 ...

  9. 递推DP UVA 1366 Martian Mining

    题目传送门 1 /* 2 题意:抽象一点就是给两个矩阵,重叠的(就是两者选择其一),两种铺路:从右到左和从下到上,中途不能转弯, 3 到达边界后把沿途路上的权值相加求和使最大 4 DP:这是道递推题, ...

  10. POJ 1661 Help Jimmy(递推DP)

    思路: 1. 每个板子有左右两端, dp[i][0], dp[i][1] 分别记录左右端到地面的时间 2. 从下到上递推计算, 上一层的板子必然会落到下面的某一层板子上, 或者地面上 总结: 1. 计 ...

最新文章

  1. 演示:思科IPS在线模式下Inline Interface Mode的响应行为(区别各个防御行为)
  2. markdown 创建表格
  3. python中的内部函数和闭包函数
  4. 斯坦福java下载_斯坦福解析器java错误
  5. CSS3---4.伪元素选择器
  6. OSChina 周四乱弹 ——因为穷和丑错过的体验
  7. mybatis-plus对datetime返回去掉.0_0欧姆电阻只能当导线用?12种用法来学习下
  8. 【flink】Flink常见Checkpoint超时问题排查思路
  9. this version of the Java Runtime only recognizes class file versions up to 52.0
  10. ShareX(截图工具) 绿色版,功能异常强大
  11. iphone android 传照片,教你如何在两台iPhone之间传照片
  12. Spring Validation 验证框架全面总结
  13. 【企业开源】小米开源:站在巨人肩膀上的创新
  14. Ubuntu 安装QT 教程
  15. DITHER 抖动算法
  16. 07-SparkStreaming
  17. c++ hash函数
  18. 【Unity3D】相机跟随
  19. Java业务系统是怎么和MySQL交互的?
  20. LANDESK操作系统部署时,网卡启动后,自动进入pe选择菜单,而不用按F8 进行选择启动菜单的情况下,如何操作?...

热门文章

  1. 561. 数组拆分 I
  2. 公式推导 11-27
  3. python从键盘输入一个字符串、将小写字母_# 每日一道面试题 # 从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件test中保存。...
  4. 透過 OpenNI / NITE 分析人體骨架(上)
  5. HDU 2144(最长公共子序列+并查集)
  6. Ten graph questions of about 2000 difficulty of Codeforces Round 2
  7. Mac/Homebrew查找nginx安装目录和nginx.conf配置文件目录
  8. 解决linux 运行自动化脚本浏览器无法启动问题
  9. 哈希查找 C语言版
  10. poj3274 找平衡数列(哈希加一点数学思维)