P1192 台阶问题
P1192 台阶问题
1.问题
见题目
2.分析
- 具有子问题特性,需分治(递归)解决
- 类似
Fibonacci
数列问题 - 建立适当的递推式即可
- 需要在适当的地方运用数论的知识 [
(a+b) mod n =((a mod n)+(b mod n)) mod n
]
3.代码
#include<iostream>
using namespace std;const int maxN = 100005;
typedef long long ll;
int k ;
ll f[maxN];//n级台阶需要迈的次数
int cal(int n){if(n==1 || n==0)return f[n];//可以选择迈1-k步 //注意i的取值范围,这个很关键 for(int i = 1;i<=k && i<=n;i++){ if(f[n-i]!=0)f[n] += f[n-i];elsef[n] = f[n] + cal(n-i);f[n] = f[n] % 100003;}return f[n];
}int main(){int n;cin >> n>> k;fill(f,f+maxN,0);f[0] = f[1] = 1;cal(n);cout << f[n] % 100003;
}
P1192 台阶问题相关推荐
- P1192 台阶问题(递推)
https://www.luogu.org/problemnew/show/P1192 题目描述 有N级的台阶,你一开始在底部,每次可以向上迈最多K级台阶(最少11级),问到达第N级台阶有多少种不同方 ...
- 【暑期每日一题】洛谷(一)
[暑期每日一题]洛谷 P1048 [NOIP2005 普及组] 采药 [暑期每日一题]洛谷 P1048 [NOIP2005 普及组] 采药_辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为 ...
- html如何设置四个链接,HTML基础(四)——设置超链接的样式示例
***设置超链接的样式示例 a:link超链接被点前状态 a:visited超链接点击后状态 a:hover悬停在超链接时 a:active点击超链接时 在定义这些状态时,有一个顺序l v h a 代 ...
- 台阶问题(洛谷P1192题题解,Java语言描述)
题目要求 题目链接 分析 记得讲过的跳台阶问题吗?那个题限制一个或两个台阶,故可以使用递推式 f [ i ] = f [ i − 1 ] + f [ i
- 台阶问题(洛谷-P1192)
题目描述 有 N 级的台阶,你一开始在底部,每次可以向上迈最多 K 级台阶(最少 1 级),问到达第 N 级台阶有多少种不同方式. 输入输出格式 输入格式: 两个正整数 N,K. 输出格式: 一个正整 ...
- 自制青蛙跳台阶小游戏~
青蛙跳台阶小游戏 1.概念(concept)文档 楔子(Setting):千百年来,人们在贬低别人时,常用井底之蛙来描述那个人,但这却让青蛙不开心了,于是青蛙决定跳出井底,为自己讨一个公道. 玩法(G ...
- [递归]一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
这题是用C写的~ 在牛客上半天找不着ACM模式,练习模式里只有核心代码模式 这样用C语言编译器就不能自定义函数啊,不鸡肋吗??? 解决方法:在核心代码模式下用C++编译器(反正C++完全兼容C的不是吗 ...
- 一个顽猴沿着一座小山的n级台阶向上跳,猴子上山一步可跳1级或3级,试求上山的n级台阶有多少种不同的爬法。...
#include<stdio.h> void main(){int k,n;long f[1000];printf("请输入台阶总数:");scanf("%d ...
- 剑指offer:面试题10- II. 青蛙跳台阶问题
题目:青蛙跳台阶问题 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶.求该青蛙跳上一个 n 级的台阶总共有多少种跳法. 答案需要取模 1e9+7(1000000007),如计算初始结果为:10000 ...
- 递归和循环:跳台阶和变态跳台阶和矩形覆盖
题目描述 跳台阶:一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果). 变态跳台阶:一只青蛙一次可以跳上1级台阶,也可以跳上2级--它 ...
最新文章
- 根本停不下来,原来学计算机可以这么有趣
- python根据列表形成字典。
- 数学建模太难,如何以Tableau可视化的方式打开?
- 最大似然估计Maximum-likelihood (ML) Estimation
- Wecoach陈隽永:如何打造一款完美的智能硬件App?
- CH - 0501 货仓选址(中位数)
- linux定时关机命令_win10电脑定时关机命令
- 【常见笔试面试算法题12续集三】动态规划算法案例分析3 LIS练习题(最长上升子序列)
- 2019全球程序员薪酬报告:软件开发比机器学习抢手!40岁后收入下滑
- 用Kickstart批量安装Linux系统、Kickstart安装,linux批量安装;Linux的Kickstart的 无人值守安装;linux pxe自动安装linux系统...
- Arnold for Cinema 4D for mac(C4D R26阿诺德渲染器)
- wangEditor + vue双向绑定(光标游走问题)
- unity播放360全景视频
- ITIL 4Foundation题目-6
- 记一次 【Unknown thread id: XXX】 的排查
- 理论力学---广义坐标和广义力
- 【iOS开发】---- 网站或技术论坛
- 观察者模式——应聘者和应聘公司的关系
- 【重磅干货】信息化方案合集下载!
- 电子邮件乱码产生的主要原因及几种解决方法
热门文章
- 迅捷路由虚拟服务器设置,迅捷 FWR310 无线路由器端口映射设置指南
- 六西格玛dfss_DFSS六西格玛设计的基本内容
- Java实现生产者消费者的PV操作信号量操作
- 软件测试人力面试题(含答案)
- 从单目视觉信息学习深度信息(一)
- 华硕笔记本BIOS设置禁用UEFI后使用U盘装系统方法
- 计算机流程图设计教程,流程图制作工具分享,在电脑上就可以画图
- android解析json数据格式,Android编程解析Json格式数据的方法
- 各种Normailization(BN,LN,IN,CIN,AdaIN,SPADE,SEAN)
- 利用C语言实现wol网络远程唤醒