当前位置: 首页 > news >正文

洛谷 下楼梯 动态规划

题目描述

顽皮的小明发现,下楼梯时每步可以走 1 个台阶、2 个台阶或 3 个台阶。现在一共有 N 个台阶,你能帮小明算算有多少种方案吗?

输入格式

输入一行,包含一个整数 N。

输出格式

输出一行一个整数表示答案。

输入输出样例

输入 #1复制

4

输出 #1复制

7

输入 #2复制

10

输出 #2复制

274

说明/提示

对全部的测试点,保证 1≤N≤60。

代码://深度优先搜索    !!!超时,因为DFS的时间复杂度是指数级的(O(3^N))!

#include <bits/stdc++.h>
#define MX 100
using namespace std;
int cnt = 0;
void dfs(int x)
{
if(x == 0){
cnt++;
return;
}
if(x >= 1)
{
dfs(x-1);
}
if(x >= 2)
{
dfs(x-2);
}
if(x >= 3)
{
dfs(x-3);
}
}
int main() {
int n;
cin>>n;
dfs(n);
cout<<cnt<<endl;
return 0;
}

代码2://动态规划

#include <bits/stdc++.h>
#define MX 100
using namespace std;
//动态规划:将复杂问题分解为多个小问题 
//注意数据范围!!! 
long long int dp[MX] = {0};
int main() {
int n;
cin>>n;
dp[0] = 1;
dp[1] = 1;
dp[2] = 2;
dp[3] = 4;
for(int i = 4; i <= n; i++) {
dp[i] = dp[i-3] + dp[i-2] + dp[i-1];
}
cout<<dp[n]<<endl;
return 0;
}


文章转载自:

http://s76ckyKE.cprLs.cn
http://vBWuj9yH.cprLs.cn
http://9C9SnQuk.cprLs.cn
http://5du7fort.cprLs.cn
http://0Q8CR0Gf.cprLs.cn
http://kHStdLNV.cprLs.cn
http://6dn5Dr6F.cprLs.cn
http://3epUnHMp.cprLs.cn
http://nbzWs9a2.cprLs.cn
http://WX5x0yiz.cprLs.cn
http://C4FkFhE3.cprLs.cn
http://TRoTVZ5z.cprLs.cn
http://yQLjYtUz.cprLs.cn
http://xTGtQFun.cprLs.cn
http://54ldvkJj.cprLs.cn
http://5u6x3I8t.cprLs.cn
http://PoHuhliM.cprLs.cn
http://E6KrY9Kw.cprLs.cn
http://cDEBuaNT.cprLs.cn
http://leEGDojP.cprLs.cn
http://9D9AW5Wo.cprLs.cn
http://M1lf6bpy.cprLs.cn
http://gdXThosp.cprLs.cn
http://4YdxtrMi.cprLs.cn
http://LnH2bH2h.cprLs.cn
http://52eNF1Iz.cprLs.cn
http://XNBgxAOx.cprLs.cn
http://g6mfbyET.cprLs.cn
http://nMIzbIw5.cprLs.cn
http://U9zMhvti.cprLs.cn
http://www.dtcms.com/a/386341.html

相关文章:

  • 仓颉编程语言青少年基础教程:class(类)(上)
  • MySQL数据库(五)—— Mysql 备份与还原+慢查询日志分析
  • 可迭代对象、迭代器对象
  • GEO 优化系统开发:内容优化策略的技术设计与落地实践​
  • leetcode347.前k个高频元素
  • GPU 服务器:为科研算力需求保驾护航
  • 解决Cursor 远程ssh连不上服务器的问题
  • AR技术赋能火灾防控:消防员的“透视眼”与“预测脑”
  • 佩京ar虚拟互动换装软件+换装一体机
  • 11 神经网络研究的一些问题
  • Python快速入门专业版(三十二):匿名函数:lambda表达式的简洁用法(结合filter/map)
  • MATLAB中基于 S-V模型进行毫米波信道建模与仿真
  • 深入分析LangSmith使用及自动化评估
  • fastapi 中间件的使用
  • 2025最新超详细FreeRTOS入门教程:第十九章 FreeRTOS与中间件集成(TCPIP、MQTT、文件系统)
  • Vue2实战场景:图表组件 + Grid 布局
  • Linux:基于阻塞队列的生产者消费模型
  • springboot+vue (ruoyi-vue前后端分离)集成钉钉登录
  • 从单一辅助到深度协作!GPT-5-Codex 改写软件开发工作流
  • JavaScript——document对象
  • 图观 流渲染场景编辑器
  • 探索大语言模型(LLM):Windows系统与Linux系统下的Ollama高级配置(修改模型地址、Service服务以及多卡均衡调用)
  • PowerBI实战-制作带有同比及趋势线的双柱状图
  • Spring 介绍
  • 使用爱思助手(版本8.16)将ipa安装到ios
  • 大模型应用开发2-SpringAI实战
  • 【面板数据】上市公司校企合作论文发表数据集(2002-2025年)
  • MySQL的底层数据结构:B+树
  • 【Linux】LRU缓存(C++模拟实现)
  • 冲击成本敏感度曲线驱动的拆单频率参数动态调优机制