3. 台阶问题
数楼梯
题目描述
楼梯有 N N N 阶,上楼可以一步上一阶,也可以一步上二阶。
编一个程序,计算共有多少种不同的走法。
输入格式
一个数字,楼梯数。
输出格式
输出走的方式总数。
样例 #1
样例输入 #1
4
样例输出 #1
5
提示
- 对于 60 % 60\% 60% 的数据, N ≤ 50 N \leq 50 N≤50;
- 对于 100 % 100\% 100% 的数据, 1 ≤ N ≤ 5000 1 \le N \leq 5000 1≤N≤5000。
解题思路:递推+高精度
代码:
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const int INF = 0x3f3f3f3f;
const int mod = 1e9 + 7;
const int N = 100010;vector<vector<int>>a(5010);vector<int> add(vector<int>A,vector<int>B)
{if(A.size()<B.size())return add(B,A);int t=0; vector<int>sum;for(int i=0;i<a.size();i++){t+=A[i];if(i<B.size())t+=B[i];sum.push_back(t%10);t=t/10;}if(t)sum.push_back(t);return sum;
}vector<int> solve(int n)
{a[1]={1}; a[2]={2};for(int i=3;i<=n;i++){a[i]=add(a[i-1],a[i-2]);}return a[n];
}int main()
{int n; cin>>n;vector<int>ans=solve(n);for(int i=ans.size()-1;i>=0;i--)cout<<ans[i];return 0;
}
本题使用的模板:高精度加法
vector<int> add(vector<int> &A, vector<int> &B) // C = A + B, A >= 0, B >= 0
{if (A.size() < B.size()) return add(B, A);vector<int> C;int t = 0;for (int i = 0; i < A.size(); i ++ ){t += A[i];if (i < B.size()) t += B[i];C.push_back(t % 10);t /= 10;}if (t) C.push_back(t);return C;
}相关文章:
3. 台阶问题
数楼梯 题目描述 楼梯有 N N N 阶,上楼可以一步上一阶,也可以一步上二阶。 编一个程序,计算共有多少种不同的走法。 输入格式 一个数字,楼梯数。 输出格式 输出走的方式总数。 样例 #1 样例输入 #1 4样例输出 #1 5提示…...
推荐一个 Obsidian 的 ChatGPT 插件
源码地址:https://github.com/nhaouari/obsidian-textgenerator-plugin Text Generator 是目前我使用过的最好的 Obsidian 中的 ChatGPT 功能插件。它旨在智能生成内容,以便轻松记笔记。它不仅可以在 Obsidian 中直接使用 ChatGPT,还提供了优…...
aws的RDS数据库开启慢查询日志
#开启慢日志两个参数 slow_query_log 1 设置为1,来启用慢查询日志 long_query_time 5 (单位秒) sql执行多长时间被定义为慢日志1. 点击RDS然后点击参数组,选择slow_query_log,设置为1【表示开启慢日志】点击保存…...
一文读懂 Python 值传递和引用传递
文章目录 版本前言形参和实参值传递和引用传递Python 变量存储值语义和引用语义值语义引用语义 探讨 Python 值传递和引用传递不可变(immutable)类型可变(mutable)类型案例一案例二 拓展:不可变类型真的不可变…...
Linux进阶——系统安全,重要文件,加固系统的相关配置
目录 引出Linux系统安全一、重要文件二、帐户口令三、权限管理四、日志配置五、服务安全六、其他配置 缓存三兄弟:缓存击穿、穿透、雪崩缓存击穿缓存穿透缓存雪崩 总结 引出 Linux进阶——系统安全,重要文件,加固系统的相关配置 Linux系统安…...
C++三级专项 字符串逆序
输入一串‘!’结束的字符,按逆序输出。 输入 如题述。 输出 如题述。 输入样例 abc! 输出样例 cba解析:strlen(s)用来计算指定的字符串s的长度,不包括结束字符“\0”。 不准直接抄!!! …...
【iOS ARKit】ARWorldMap
ARWorldMap 用于存储 ARSession 检测扫描到的空间信息数据,包括地标(Landmark)、特征点(Feature Point)、平面(Plane)等,以及使用者的操作信息,如使用者添加的 ARAnchor …...
敏捷开发最佳实践:质量维度实践案例之软硬一体持续交付
在过去的Top敏捷实践案例中,我们可以看到企业或团队在敏捷质量管理上的创新,包括场景化测试、迭代T1自动化覆盖、一套自动用例到处运行、用例持续运行可视化等,而这也进一步促进了价值流动。本文将继续给大家带来全新的质量维度实践案例&…...
PMP证书的含金量如何?
PMP含金量更多的是“敲门砖”作用,公司招聘的门槛,现在坐项目的大部分都需要PMP/NPDP证书。 当然现在PMP管理模式也很热门,对企业发展很有利,各大企业都有引进改良应用在公司的项目上,之前在校友群里面大家在讨论PMP …...
Linux 下安装Jupyter
pip3 install jupyter pip3 install ipython -------------------------------------------- pip3 install jupyterlab jupyter lab pip3 list | grep jupyterlab 启动: python3 -m jupyter lab 2.安装朱皮特 pip3 install -i https://pypi.douban.com/simpl…...
docker 基础(二)
常见命令 Docker最常见的命令就是操作镜像、容器的命令,详见官方文档:https://docs.docker.com/ 数据卷 命令说明文档地址docker volume create创建数据卷docker volume createdocker volume ls创建数据卷docker volume lsdocker volume rm查看所有数…...
LeetCode 刷题 [C++] 第236题.二叉树的最近公共祖先
题目描述 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以…...
vue3+vite 项目的创建
这里要提醒一下,如果我们要使用 vue3 的组合式api 的写法的话, 那么我们使用的 vue 版本不能低于 vue3.2 版本,不能低于 vue3.2 版本,不能低于 vue3.2 版本 vue2 已停止维护了, 现在全面拥抱vue3 之前用 vue-cli 创建…...
Windows Server 2022 使用ApacheDS用户认证
Windows Server 2022 使用ApacheDS用户认证 参考文档:https://docs.foxpass.com/docs/windows-ldap-auth-with-pgina 安装pGina软件,打开pGina软件 勾选启用LDAP认证,点击Configure 修改LDAP认证信息 点击Gateway,设置只要登…...
【Oracle】Oracle清理日志空间
(一)通过adrci清理日志空间 1.通过find命令查询大数据文件 find / -type f -size 100M 2.登录oracle数据库服务器用户 su - oracle 3.执行故障诊断命令 adrci 4.查询ADR目录 show home 5.切换到对应目录 set homepath diag/rdbms/orcl 6.执行日志清理命令…...
数据抽取平台pydatax介绍--实现和项目使用
数据抽取平台pydatax实现过程中,有2个关键点: 1、是否能在python3中调用执行datax任务,自己测试了一下可以,代码如下: 这个str1就是配置的shell文件 try:result os.popen(str1).read() except Exception as …...
容易发生内存泄漏的八个场景,你都知道吗?
内存泄漏与内存溢出 JVM在运行时会存在大量的对象,一部分对象是长久使用的,一部分对象只会短暂使用 JVM会通过可达性分析算法和一些条件判断对象是否再使用,当对象不再使用时,通过GC将这些对象进行回收,避免资源被用…...
掌握 Vue3 中的 setup 函数
Vue.js 经历了从 Vue 2 到 Vue 3 的重大变革,带来了许多引人注目的新特性和性能优化。其中,setup函数无疑是最引人瞩目的新星之一。 一、概览 setup函数是 Vue 3 引入的一个新的组件选项,作为组合式 API 中心,它允许开发者在一个…...
BUUCTF AWD-Test1
打开靶场是这个有些简陋的界面。 随便点点,找到这个东西。 看到ThinkPHP,思路瞬间清晰,老熟人了。这个就是ThinkPHP漏洞。根据版本我们去找一下poc。 /index.php/?sIndex/\think\View/display&content%22%3C?%3E%3C?php%20phpinfo();…...
百亿诈骗案频出,欧科云链用“技术责任”拓宽Web3安全边界
2022年12月1日,《中华人民共和国反电信网络诈骗法》正式实施,中国正式迈入“全民反诈时代”。据CNNIC和智研咨询统计显示,截至2021年12月,国内网民遭遇网络诈骗比例为16.6%,数千万人深受网络诈骗的危害。 以新兴技术区…...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...
Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
django filter 统计数量 按属性去重
在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...
2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
页面渲染流程与性能优化
页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...
SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...
