2024-11-19每日一题

news/2024/11/18 23:37:36/文章来源:https://www.cnblogs.com/Sonatto/p/18553995

台阶问题

题目描述

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

输入格式

两个正整数 \(N,K\)

输出格式

一个正整数 \(ans\pmod{100003}\),为到达第 \(N\) 级台阶的不同方式数。

样例

输入

5 2

输出

8

数据范围

对于 \(100\%\) 的数据,\(1\leq N\leq100000\)\(1\leq K\leq100\)

思路

和走楼梯很类似,可以把走楼梯问题看作这题K=2的特殊情况

我们可以用和走楼梯一样的分析方法:

每次可以前进1~K级台阶,那么在第 i 级台阶,可以是从第 i - 1 级到第 i - k 级的任意台阶迈过来,这样迈到第 i 级台阶的方案数就是迈到第 i - 1, i - 2, i - 3... i -k 级台阶的方案数之和,所以\(f[i]= f[i-1]+f[i-2]+...+f[i-k]\)

分析时间复杂度:

由于几乎每一个 i 都要枚举 K 个数,所以时间复杂度为\(O(K*N)\),最大为\(10^7\),不会超时

边界情况:

显然第1级方案数为1,而对高度小于K的台阶显然不可能从第 -1 -2 -3等幽默的台阶迈过来,所以记得2~ K-1 级台阶是\(\sum_{0}^{i-1}f[j]\)而不是\(\sum_{i-k}^{i-1}f[j]\)

代码

#include<bits/stdc++.h>
using namespace std;
int n,k;
int a[200100];
int main()
{scanf("%d%d",&n,&k);a[0]=1;a[1]=1;for(int i=2;i<=n;i++) {for(int j=1;j<=min(k,i);j++) {a[i]=(a[i]+a[i-j])%100003;}}printf("%d\n",a[n]);return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/836449.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

开源 - Ideal库 - 枚举扩展设计思路及实现难点(三)

分享枚举扩展设计思路,包括枚举值、名、描述、项、类型转换。实现难点包括枚举名称、描述转枚举处理,枚举值类型支持,高效返回键值对,识别有效位标志组合等。今天想和大家分享关于枚举扩展设计思路和在实现过程中遇到的难点。01、设计思路 设计思路说起来其实也很简单,就是…

安装新版pycharm 专业版 百分百成功

安装新版pycharm 专业版 百分百成功 创建时间:20241103 1. 下载插件 1.1 打开下面的网站 https://3.jetbra.in/1.2 选择能进去的网站 没使用鸡哥上网使用鸡哥上网1.3 进入的界面1.4 下载插件 查看这里支持的版本号2. 在官网下载对应的版本 2.1 官网的历史版本位置 我这里使用…

vercel无法导入github项目

背景 点击import后,浏览器打开了github的项目链接,而不是有关于项目部署的设置。根据网络上的说法,import后就会出现相关的配置页面,然而没有出现下面是预想的页面然而并没有出现。 解决 使用cli工具。 npm install -g vercel# 登录 vercel login # 部署 vercel回到官网,发…

福气满满-冲刺日志(第一天)

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024作业要求 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13305团队名称 福气满满团队成员学号-名字 052203132童潇剑,102201226陈潇健,102201235曾炜坤,102201234洪庆杨,102201224 陈博涵,18220031…

11.8 每日总结(继续学习redis)

今天依旧Redis,学习时长2小时。数据结构:

[极客大挑战 2019]Secret File

首页什么都没有,查看网页源码,发现有一个链接,提示found除去view-source访问,得到以下页面,点击secret直接查阅结束,没回显flag,依旧在卖关子。使用burp suite抓包获取返回的源码,找到注释中有个文件secr3t.php访问secr3t.php得到代码里说flag在flag.php里,直接访问fl…

CCTV 新闻节目 All In One

CCTV 新闻节目 All In One 世界周刊 《世界周刊》着力于信息整合,打破不同媒体间隔,从海量的信息碎片中捕捉世界发展的轨迹,从每周的国际事件中提炼出最有价值的内容。CCTV 新闻节目 All In One世界周刊《世界周刊》着力于信息整合,打破不同媒体间隔,从海量的信息碎片中捕…

厉害了,8.7w人打满分!如果我找 BUG 能像他一样厉害就好了!

你好呀,我是歪歪。 最近在 B 站上看到一个让我觉得“非常哇塞”视频的:https://www.bilibili.com/video/BV1y4421U72G/视频的播放量有接近 400w,在视频快结尾的地方,UP 主设置了一个打分的互动:8.7 万人参与,平均 10 分。这参与度和平均分,歪师傅作为在 B 站混迹多年的用…

JAVA反序列化学习-CommonsCollections2(基于ysoserial)

环境准备 JDK1.8(8u421)这里ysoserial,我以本地的JDK8版本为准、commons-collections4(4.0 以ysoserial给的版本为准)、javassist(3.12.1.GA) cc4.0、ClassPool <dependency><groupId>org.apache.commons</groupId><artifactId>commons-collections4&…

先天软工圣体队———冲刺日记(第四天)

1. 每位团队成员的分工与进度成员 完成的任务 完成的任务时长 剩余时间何愉心、邱雨涵 对vlog做最终的修改,美化。为实验课做准备 2小时 6小时陈思雨,郑奇键 搜集筛选资料,填充资料库 1小时 11小时陈尚冰 对web页面的边框,按键美化 3小时 10小时柯鸿毅 AI接口调用测试,修改…

电子元器件外贸购买

前言 最近忙着采购外国一款品牌的连接器(说人话就是端子),有很多专业术语需要理解。PKG是什么意思? 指产品的包装方式或包装材料, PKG是packaging的缩写. 请结合具体的环境确认是指包装方式还是包装材料.有时, 客户会说quotation package, 这里指的是将所有报价资料打包,里…

看过这个,你可能更了解指针4

如图,我们先看以下问题在稍微思考过后,先把你的答案记下来吧。 接下来我们分析 ****1中arr被单独放入sizeof中,表示整个数组,则计算整个数组的大小, 且sizeof计算的大小包含\0,则在sizeof看来数组arr有7个元素, 类型为char,7乘1=7 ****2中arr没有单独放入sizeof中,也没…