翻过DP这座大山

1.AcWing 跳台阶

第一种方法:暴力搜索DFS
在这里插入图片描述

#include <iostream>
using namespace std;

int dfs(int n)
{
	if(n == 1) return 1;
	else if(n == 2) return 2;
	else return dfs(n-1)+dfs(n-2);
}

int main()
{
	int x; cin>>x;
	
	cout<<dfs(x)<<endl;
	
	return 0;
}

显然如果数据范围大一点的话 就过不了 !!! 所以拿出我们的神奇------>记忆化搜索

第二种方法:记忆化搜索

#include <iostream>
using namespace std;

const int N = 10000;

int mem[N],t;

int dfs(int n)
{
	if(mem[n]) return mem[n];
	
	int sum = 0;
	
	if(n == 1) sum = 1;
	else if(n == 2) sum = 2;
	else sum =  dfs(n-1)+dfs(n-2);
	
	mem[n] = sum;
	return sum;
}

int main()
{
	int t; cin>>t;
	
	cout<<dfs(t)<<endl;
	
	return 0;
}

第三种:递推

#include <iostream>
using namespace std;

const int N = 40;

int f[N],n;

int main()
{
	f[1] = 1,f[2] = 2;
	cin>>n;
	
	if(n == 1 || n == 2)
	{
		cout<<f[n]<<endl;
		return 0;
	}
	
	for(int i=3;i<=n;i++)
	{
		f[i] = f[i-1]+f[i-2];
	}
	
	cout<<f[n]<<endl;
		
	return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CSS设置移动端页面底部安全距离

env(safe-area-inset-bottom)是一个CSS属性值&#xff0c;用于设置底部安全距离。它表示使用环境变量来获取底部安全距离的值。当使用环境变量时&#xff0c;需要使用env()函数来引用具体的环境变量。例如&#xff1a; <style> .box{padding-bottom: env(safe-area-inse…

OSCP靶场--Crane

OSCP靶场–Crane 考点(CVE-2022-23940sudo service提权) 1.nmap扫描 ┌──(root㉿kali)-[~/Desktop] └─# nmap 192.168.229.146 -sC -sV --min-rate 2500 Starting Nmap 7.92 ( https://nmap.org ) at 2024-03-25 08:07 EDT Nmap scan report for 192.16…

MySQL索引18连问,谁能顶住

前言 过完这个节&#xff0c;就要进入金银季&#xff0c;准备了 18 道 MySQL 索引题&#xff0c;一定用得上。 作者&#xff1a;感谢每一个支持&#xff1a; github 1. 索引是什么 索引是一种数据结构&#xff0c;用来帮助提升查询和检索数据速度。可以理解为一本书的目录&…

2-Flume之Sink与Channel

Flume Sink HDFS Sink 将数据写到HDFS上。数据以文件形式落地到HDFS上&#xff0c;文件名默认是以FlumeData开头&#xff0c;可以通过hdfs.filePrefix来修改 HDFS Sink默认每隔30s会滚动一次生成一个文件&#xff0c;因此会导致在HDFS上生成大量的小文件&#xff0c;实际过程…

蔚来JAVA面试(收集)

先叠加&#xff0c;这个是自己找的答案不一定对&#xff0c;只是给我参考看看而已。 一、项目 这个没有&#xff0c;根据实际项目情况来。蔚来比较喜欢拷打项目&#xff0c;所以要对项目非常熟悉&#xff08;慌&#xff09; 二、JAVA基础 2.1 Java中的IO模型有用到过吗&#…

代码学习记录27---贪心算法

随想录日记part27 t i m e &#xff1a; time&#xff1a; time&#xff1a; 2024.03.25 主要内容&#xff1a;今天深入学习贪心算法&#xff0c;接下来是针对题目的讲解&#xff1a;1.K次取反后最大化的数组和 &#xff1b;2. 加油站 &#xff1b;3.分发糖果 1005.K次取反后最…

华为防火墙二层墙(VAN/SVI/单臂路由)

二层墙只能做地址池形式的NAT。 交换机安全策略防火墙二层墙 路由器安全策略防火墙三层墙 交换机的光口是不能直接插线的&#xff0c;光模块&#xff0c;包括进和出 长距离&#xff1a;单模 短距离&#xff1a;多模 防火墙自身的ping流量需要单独配置

202447读书笔记|《围炉夜话》——多记先正格言,胸中方有主宰 闲看他人行事,眼前即是规箴

202447读书笔记|《围炉夜话》——多记先正格言&#xff0c;胸中方有主宰&#xff1b;闲看他人行事&#xff0c;眼前即是规箴 围炉夜话 《围炉夜话&#xff08;读客三个圈经典文库&#xff09;》作者王永彬。读《围炉夜话》&#xff0c;可以掌握君子安身立业的大智慧&#xff01…

MySQL数据库的备份

文章目录 MySQL数据库的备份MySQL备份方法完全备份物理备份备份 逻辑热备完全备份逻辑热备恢复恢复库恢复表 增量备份备份增量备份恢复基于位置进行恢复基于时间 MySQL数据库的备份 MySQL备份方法 物理备份&#xff1a; 物理备份涉及直接复制MySQL的数据文件和日志文件。这种…

(进程线程)的状态和线程安全

进程有两个状态就绪状态和阻塞状态。 这些状态决定了系统会按照什么样的态度来调度这个进程&#xff08;这些一般是针对一个进程里面有一个线程的情况&#xff09;。在实际的大多数情况下&#xff0c;一个进程中包含多个线程&#xff0c;其状态则会绑定在线程上。 上诉状态一…

计算机408炸了!大多数人都栽在这门课上

组成原理>>数据结构>操作系统>计算机网络 在本科时&#xff0c;我在学习组成原理之前已经学过数字电路和模拟电路&#xff0c;但在接下来学习组成原理时&#xff0c;我依然感到困难。也许是因为自己理解能力不足&#xff0c;总觉得难以掌握&#xff0c;甚至在考研…

算法打卡day28|贪心算法篇02|Leetcode 122.买卖股票的最佳时机 II、55. 跳跃游戏、45.跳跃游戏 II

算法题 Leetcode 122.买卖股票的最佳时机 II 题目链接:122.买卖股票的最佳时机 II 大佬视频讲解&#xff1a;买卖股票的最佳时机 II视频讲解 个人思路 因为只有一只股票&#xff0c;且两天作一个交易单元&#xff0c;那每次只收集正利润就可以最终最多可以获取的利润&#xf…

数据运营常用的8大模型

✅作者简介&#xff1a;《数据运营&#xff1a;数据分析模型撬动新零售实战》作者、《数据实践之美》作者、数据科技公司创始人、多次参加国家级大数据行业标准研讨及制定、高端企培合作讲师。 &#x1f338;公众号&#xff1a;风姑娘的数字视角&#xff0c;免费分享数据应用相…

10个优秀的Github开源项目

1Panel 是一个现代化、开源的 Linux 服务器运维管理面板 EX-chatGPT-精准搜索工具 feishu-chatgpt-飞一般的工作体验工具 Knife4j-是一个集Swagger2 和 OpenAPI3为一体的增强解决方案 Kooder 是 Gitee 团队开发的一个代码搜索系统 mtbird 是一款低代码可视化页面生成器 S…

<Linux> 模拟实现文件流 - 简易版

目录 1. FILE 结构设计 2、函数使用及分析 3、文件打开 fopen 4. 缓冲区刷新fflush 5. 数据写入fwrite 6. 文件关闭 fclose 7. 测试 8. 小结 1. FILE 结构设计 在设计 FILE 结构体前&#xff0c;首先要清楚 FILE 中有自己的缓冲区及冲刷方式 缓冲区的大小和刷新方式因…

巧用 20个 Linux 命令贴士与技巧,让你生产力瞬间翻倍?

在本文中&#xff0c;我将向您演示一些专业的Linux命令技巧&#xff0c;这些技巧将使您节省大量时间&#xff0c;在某些情况下还可以避免很多麻烦&#xff0c;而且它也将帮助您提高工作效率。 并不是说这些只是针对初学者的 Linux 技巧。即使有经验的Linux用户也有可能没有发现…

C++ 扫描当前路径下文件并删除大文件

C 扫描当前路径下文件并删除大文件 C获取当前路径扫描文件路径下规定后缀名称的文件计算文件大小 1. 获取当前路径 使用<Windows.h>中的GetCurrentDirectory方法实现&#xff0c;单独编写验证程序如下&#xff1a; #include<iostream> #include<Windows.h&g…

R语言基础入门

1.保存或加载工作空间 改变工作目录——进行文件读写&#xff0c;默认去指定文件进行操作。&#xff08;使用R时&#xff0c;最好先设定工作目录&#xff08;setwd(),getwd()&#xff09;&#xff09; setwd(“工作文件路径”)&#xff1a;建立工作目录 getwd&#xff08;&…

Linux的进程控制(创建和终止)

进程创建 fork 我们前面已经认识过fork函数&#xff0c; 用fork创建新进程后&#xff0c; 新建立的进程为子进程&#xff0c; 该进程为父进程。fork给父进程返回的是子进程的pid&#xff0c; 给子进程返回的是0&#xff0c; 出错时返回-1 进程调用fork后&#xff0c; 当控制…

IS-IS路由

概览&#xff1a; Intermediate System-to-Intermediate System&#xff0c;中间系统到中间系统协议 IS-IS--IGP--链路状态协议--AD值&#xff1a;115 IS--中间系统&#xff08;路由器&#xff09; ES--终端系统&#xff08;PC&#xff09; 在早期IS-IS的开发并不是为了IP…
最新文章