记忆化搜索

 洛谷P1216数字三角形

记忆化搜索 但是一个TLE

#include<iostream>
using namespace std;
int n;
const int N = 1001;
int a[N][N], dp[N][N];
int dfs(int i, int j){if(i == n)return a[i][j];if(dp[i][j])return dp[i][j];dp[i][j] = max(dfs(i + 1, j), dfs(i + 1, j + 1)) + a[i][j];return dp[i][j];
}
int main(){cin >> n;for(int i = 1; i <= n; i++){for(int j = 1; j <= i; j++){cin >> a[i][j];}}cout << dfs(1, 1) << endl;return 0;
}

然后我们反着枚举

#include<iostream>
using namespace std;
int n;
const int N = 1001;
int a[N][N];
int main(){cin >> n;for(int i = 1; i <= n; i++){for(int j = 1; j <= i; j++){cin >> a[i][j];}}for(int i = n - 1; i >= 1; i--){for(int j = 1; j <= i; j++){a[i][j] += max(a[i + 1][j], a[i + 1][j + 1]);}}cout << a[1][1] << endl;return 0;
}

洛谷P1434滑雪:记忆化搜索

#include<iostream>
#include<climits>
using namespace std;
int n, m;
const int N = 105;
int a[N][N], dp[N][N];
int dx[4] = {0, 0, 1, -1}, dy[4] = {1, -1, 0, 0};
int dfs(int x, int y){if(dp[x][y])return dp[x][y];dp[x][y] = 1;for(int i = 0; i < 4; i++){int xx = x + dx[i], yy = y + dy[i];if(xx >= 1 && xx <= n && yy >= 1 && yy <= m && a[xx][yy] > a[x][y]){dp[x][y] = max(dp[x][y], dfs(xx, yy) + 1);}}return dp[x][y];
}
int main(){cin >> n >> m;for(int i = 1; i <= n; i++){for(int j = 1; j <= m; j++){cin >> a[i][j];}}int maxx = 1;for(int i = 1; i <= n; i++){for(int j = 1; j <= m; j++){maxx = max(maxx, dfs(i, j));}}cout << maxx << endl;return 0;
}

洛谷P1255爬楼梯:高精度加记忆化搜索

#include<iostream>
#include<vector> 
using namespace std;
int n;
vector<int>add(vector<int> &A, vector<int> &B){vector<int> C;int t = 0;for(int i = 0; i < A.size() | i < B.size(); i++){if(i < A.size())t += A[i];if(i < B.size())t += B[i];C.push_back(t % 10);t /= 10;}if(t)C.push_back(1);return C;
}
int main(){vector<int>A,B;cin >> n;if(n == 0 || n == 1){cout << 1 << endl;return 0;}vector<int> dp[n + 1];dp[0] = dp[1] = {1};for(int i = 2; i <= n; i++){dp[i] = add(dp[i - 1], dp[i - 2]);}for(int i = dp[n].size() - 1; i >= 0; i--)cout << dp[n][i];cout << endl; return 0;
}

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

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

相关文章

新建菜单项的创建之CmpGetValueListFromCache函数分析

第一部分&#xff1a; PCELL_DATA CmpGetValueListFromCache( IN PHHIVE Hive, IN PCACHED_CHILD_LIST ChildList, OUT BOOLEAN *IndexCached, OUT PHCELL_INDEX ValueListToRelease ) 0: kd> dv KeyControlBlock 0xe1…

《无畏契约》运行时提示“d3dcompiler_43.dll丢失”是什么原因?“找不到d3dcompiler_43.dll文件”如何解决?

--- 使用DLL修复工具&#xff08;懒人专用&#xff09; https://file-xfqdx-cdn.fanqiesoft.cn/package/XFQDXTool_21121_tg.exe 逐步说明&#xff1a; 步骤1&#xff1a;重新安装《无畏契约》 - 操作指南&#xff1a; - 打开“控制面板” → “程序和功能”。 - 在列表…

蓝牙接近开关模块感应开锁手机靠近解锁支持HID低功耗

ANS-BT101M是安朔科技推出的蓝牙接近开关模块&#xff0c;低功耗ble5.1&#xff0c;采用UART通信接口&#xff0c;实现手机自动无感连接&#xff0c;无需APP&#xff0c;人靠近车门自动开锁&#xff0c;支持苹果、安卓、鸿蒙系统&#xff0c;也可以通过手机手动开锁或上锁&…

Ubuntu 22.04 安装Nvidia驱动加速deepseek

一键安装22.04 nvidia 驱动 nvidia 官网下载驱动我的环境是NVIDIA RTX A5000nvidia 文档参考没有安装驱动之前确认自己的型号 lspci | grep -i vga &#xff08;如数字2231&#xff09; 参考docker 支持nvidia &#xff0c;注释了需要的取消注释即可 42行-92行一定要重启服务器…

数据结构——双链表

1. 双向带头循环链表 1. 双链表的功能 1. 初始化 2. 销毁 3. 打印 4. 检查链表是否为空 5. 尾插 6. 尾删 7. 头插 8. 头删 9. 在目标节点之后插入数据 10. 删除目标节点 11. 查找 2. 双链表的定义 结构体需要包含三个成员&#xff0c;一个成员存储数据&#xff0c;一个成员存储…

微服务2025/2/15

微服务是一种软件架构风格&#xff0c;它是以专注于单一职责的很多小型项目为基础&#xff0c;组合出复杂的大型应用。 微服务是一种架构。 微服务是一种架构。 微服务是一种架构。 以前自己做项目最常用的架构是单体架构。单体项目不适合开发大型项目。 学习微服务技术来解…

Locust性能压测工具使用指南

Locust是一款用Python编写的开源性能测试工具&#xff0c;主要用于对网站或其他系统进行负载测试和性能测试&#xff0c;以下是关于它的详细介绍&#xff1a; 特点 高可扩展性&#xff1a;能够轻松模拟大量用户并发访问&#xff0c;通过简单增加节点&#xff0c;可以在短时间…

DaoCloud 亮相 2025 GDC丨开源赋能 AI 更多可能

2025 年 2 月 21 日至 23 日&#xff0c;上海徐汇西岸&#xff0c;2025 全球开发者先锋大会以 “模塑全球&#xff0c;无限可能” 的主题&#xff0c;围绕云计算、机器人、元宇宙等多元领域&#xff0c;探讨前沿技术创新、应用场景拓展和产业生态赋能&#xff0c;各类专业论坛、…

Linux 环境“从零”部署 MongoDB 6.0:mongosh 安装与数据操作全攻略

前提 完成linux平台部署MongoDB【部署教程】且完成mongosh的安装 由于本人使用的是6.0版本的MongoDB&#xff0c;新版本 MongoDB&#xff08;尤其是 6.0 及以上版本&#xff09;已经不再默认捆绑传统的 mongo shell&#xff0c;而改用新的 MongoDB Shell&#xff08;mongosh&am…

SQL注入之二次注入

1、概述 二次注入是指已存储&#xff08;数据库、文件&#xff09;的用户输入被读取后再次进入到 SQL 查询语句中导致的注入。 二次注入是sql注入的一种&#xff0c;但是比普通sql注入利用更加困难&#xff0c;利用门槛更高。普通注入数据直接进入到 SQL 查询中&#xff0c;而…

AORO M6北斗短报文终端:将“太空黑科技”转化为安全保障

在卫星导航领域&#xff0c;北斗系统作为我国自主研发的全球卫星导航系统&#xff0c;正以其独特的短报文通信功能引发全球范围内的广泛关注。这一突破性技术不仅使北斗系统在全球四大导航系统中独树一帜&#xff0c;具备了双向通信能力&#xff0c;更通过遨游通讯推出的AORO M…

xss-lab

xss XSS全称跨站脚本(Cross Site Scripting)&#xff0c;为避免与层叠样式表(Cascading Style Sheets, CSS)的缩写混淆&#xff0c;故缩写为XSS。这是一种将任意 Javascript 代码插入到其他Web用户页面中执行以达到攻击目的的漏洞。攻击者利用浏览器的动态展示数据功能&#x…

服务器为什么会禁止 Ping?服务器禁止 Ping 的好处

在网络管理和服务器运维中&#xff0c;经常会遇到服务器禁止 Ping 的情况。为了确保网络安全和减少不必要的风险&#xff0c;管理员可能会选择禁止 Ping 命令&#xff0c;即禁止服务器响应 ICMP 请求。尽管 Ping 命令是网络诊断中常用的工具&#xff0c;但禁止 Ping 也有其合理…

课程2. 用PyTorch训练神经网络与梯度下降

课程2. 用PyTorch训练神经网络与梯度下降 Pytorchtorch.TensorPytorch 上的神经网络用于余弦函数逼近的全连接神经网络 训练神经网络 梯度下降最小化一个变量的函数最小化多个变量的函数使用梯度下降训练神经网络在 Pytorch 中训练神经网络从 nn.Module 类继承 将计算传输到显卡…

IP-----动态路由OSPF(2)

这只是IP的其中一块内容&#xff0c;IP还有更多内容可以查看IP专栏&#xff0c;前一章内容为动态路由OSPF &#xff0c;可通过以下路径查看IP-----动态路由OSPF-CSDN博客,欢迎指正 注意&#xff01;&#xff01;&#xff01;本部分内容较多所以分成了两部分在上一章 5.动态路…

手机打电话时如何识别对方按下的DTMF按键的字符-安卓AI电话机器人

手机打电话时如何识别对方按下的DTMF按键的字符 --安卓AI电话机器人 一、前言 前面的篇章中&#xff0c;使用蓝牙电话拦截手机通话的声音&#xff0c;并对数据加工&#xff0c;这个功能出来也有一段时间了。前段时间有试用的用户咨询说&#xff1a;有没有办法在手机上&#xff…

深入剖析:自定义实现C语言中的atoi函数

在C语言的标准库中&#xff0c; atoi 函数是一个非常实用的工具&#xff0c;它能够将字符串形式的数字转换为对应的整数。然而&#xff0c;当我们深入探究其实现原理时&#xff0c;会发现其中蕴含着许多有趣的编程技巧和细节。本文将详细讲解如何自定义实现一个类似 atoi 功能的…

PyTorch 源码学习:GPU 内存管理之它山之石——TensorFlow BFC 算法

TensorFlow 和 PyTorch 都是常用的深度学习框架&#xff0c;各自有一套独特但又相似的 GPU 内存管理机制&#xff08;BFC 算法&#xff09;。它山之石可以攻玉。了解 TensorFlow 的 BFC 算法有助于学习 PyTorch 管理 GPU 内存的精妙之处。本文重点关注 TensorFlow BFC 算法的核…

流式输出方案:sse与websocket的使用

1、sse(Server-Sent Events) SSE是一种允许服务器向浏览器推送实时更新的技术。它基于HTTP协议&#xff0c;是一种单向的通信方式 单向通信基于HTTP自动重连&#xff08;内置了自动重连机制&#xff0c;当连接断开时&#xff0c;浏览器会自动尝试重新连接&#xff09; 1.1 …

基于定制开发开源AI大模型S2B2C商城小程序的商品选品策略研究

摘要&#xff1a;随着电子商务的蓬勃发展和技术的不断进步&#xff0c;商品选品在电商领域中的重要性日益凸显。特别是在定制开发开源AI大模型S2B2C商城小程序的环境下&#xff0c;如何精准、高效地选择推广商品&#xff0c;成为商家面临的一大挑战。本文首先分析了商品选品的基…