基础动态规划题目基础动态规划题目

目录

题目1: P1216 [USACO1.5] [IOI1994]数字三角形 Number Triangles

 代码示例:

题目2: Common Subsequence

代码示例

题目3 :最长上升子序列

最长不下降子序列

最长上升子序列oj答案

题目1: P1216 [USACO1.5] [IOI1994]数字三角形 Number Triangles

P1216 [USACO1.5] [IOI1994]数字三角形 Number Triangles - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)icon-default.png?t=N7T8https://www.luogu.com.cn/problem/P1216

 代码示例:

// c++ 代码示例
#include <algorithm>
#include <iostream>using namespace std ;int n,a[1005][1005],f[1005][1005] ;int dfs(int x, int y)
{if (x == n) return a[x][y] ;if (f[x][y] != -1) return f[x][y] ;return f[x][y] = max(dfs(x + 1, y), dfs(x + 1, y + 1)) + a[x][y] ;
}int main()
{int n ;cin >> n ;for (int i = 1 ; i <= n ; i++){for (int j = 1 ; j <= i ; j++){cin >> a[i][j] ;}}for (int i = 1 ; i <= n ; i++){for (int j = 1 ; j <= i ; j++){f[i][j] = -1 ;}}cout << dfs(1, 1) ;return 0 ;
}
// c++ 代码示例#include <algorithm>
#include <iostream>
using namespace std ;long long n, a[1005][1005] ;
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 ; i >= 1 ; i--){for (int j = 1 ; j <= i ; j++){a[i][j] = a[i][j] + max(a[i + 1][j], a[i + 1][j + 1]);        }}cout << a[1][1] ;return 0 ;}

 

// c++ 代码示例#include <algorithm>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <string>
using namespace std;#define rint register int
inline void read(int &x)
{x = 0;int w = 1;char ch = getchar();while (!isdigit(ch) && ch != '-'){ch = getchar();}if (ch == '-'){w = -1;ch = getchar();}while (isdigit(ch)){x = (x << 3) + (x << 1) + (ch ^ '0');ch = getchar();}x = x * w;
}const int maxn = 1000 + 10;int n, a[maxn][maxn], ans;int main()
{read(n);for (rint i = 1; i <= n; i++){for (rint j = 1; j <= i; j++){read(a[i][j]);if (i == 1 && j == 1){// The top of the trianglecontinue;}if (j == 1){// Left boundarya[i][j] += a[i - 1][j];}else if (j == i){// Right boundarya[i][j] += a[i - 1][j - 1];}else{// Middle elementsa[i][j] += max(a[i - 1][j - 1], a[i - 1][j]);}ans = max(ans, a[i][j]);}}cout << ans << endl;return 0;
}

题目2: Common Subsequence

Common Subsequence - HDU 1159 - Virtual Judge (vjudge.net)icon-default.png?t=N7T8https://vjudge.net/problem/HDU-1159

代码示例

// c++ 代码示例
int a[MAXN], b[MAXN], f[MAXN][MAXN] ;int dp()
{for (int i = 1 ; i <= n ; i++){for (int j = 1 ; j <= m ; j++){if (a[i - 1] == b[j - 1]){f[i][j] = f[i - 1][j - 1] + 1 ;}else{f[i][j] = std::max(f[i - 1][j], f[i][j - 1]) ;}}}return f[n][m] ;
}
// c++ 代码示例#include <cmath>
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>using namespace std;char a[1001], b[1001];
int dp[1001][1001], len1, len2;void lcs(int i,int j)
{for(i=1; i<=len1; i++){for(j=1; j<=len2; j++){if(a[i-1] == b[j-1])dp[i][j] = dp[i-1][j-1] + 1;else if(dp[i-1][j] > dp[i][j-1])dp[i][j] = dp[i-1][j];elsedp[i][j] = dp[i][j-1];}}
}int main()
{while(~scanf(" %s",a)){scanf(" %s", b);memset(dp, 0, sizeof(dp));len1 = strlen(a);len2 = strlen(b);lcs(len1, len2);printf("%d\n", dp[len1][len2]);}return 0;
}

题目3 :最长上升子序列

信息学奥赛一本通(C++版)在线评测系统 (ssoier.cn)icon-default.png?t=N7T8http://ybt.ssoier.cn:8088/problem_show.php?pid=1281

最长不下降子序列

//c++代码示例
# include <iostream>
# include <cstdio>
using namespace std ;
int n ;
int a[1001] ;
int f[1001] ;
int mx = -1 ;
int main()
{scanf("%d", &n) ;for (int i = 1 ; i <= n ; i++){scanf("%d", &a[i]) ;f[i] = 1 ;}for (int i = 2 ; i <= n ; i++){for (int j = i - 1 ; j >= 1 ; j--){if (a[i] >= a[j]){f[i] = max(f[i], f[j] + 1) ;}}}for (int i = 1 ; i <= n ; i++){mx = max(mx, f[i]) ;}printf("%d", mx) ;return 0 ;}
//c++代码示例
# include <iostream>
# include <cstdio>
using namespace std ;
int n ;
int a[1001] ;
int f[1001] ;
int mx = -1 ;
int main()
{scanf("%d", &n) ;for (int i = 1 ; i <= n ; i++){scanf("%d", &a[i]) ;f[i] = 1 ;}for (int i = n - 1 ; i >= 1 ; i--){for (int j = i + 1 ; j <= n ; j++){if (a[i] <= a[j]){f[i] = max(f[i], f[j] + 1) ;}}}for (int i = 1 ; i <= n ; i++){mx = max(mx, f[i]) ;}printf("%d", mx) ;return 0 ;}

最长上升子序列oj答案

//c++代码示例
# include <iostream>
# include <cstdio>
using namespace std ;
int n ;
int a[1001] ;
int f[1001] ;
int mx = -1 ;
int main()
{scanf("%d", &n) ;for (int i = 1 ; i <= n ; i++){scanf("%d", &a[i]) ;f[i] = 1 ;}for (int i = n - 1 ; i >= 1 ; i--){for (int j = i + 1 ; j <= n ; j++){if (a[i] < a[j]){f[i] = max(f[i], f[j] + 1) ;}}}for (int i = 1 ; i <= n ; i++){mx = max(mx, f[i]) ;}printf("%d", mx) ;return 0 ;}

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【ffmpeg命令基础】过滤处理

文章目录 前言过滤处理的介绍两种过滤类型简单滤波图简单滤波图是什么简单滤波示例 复杂滤波图复杂滤波是什么区别示例 总结 前言 FFmpeg是一款功能强大的开源音视频处理工具&#xff0c;广泛应用于音视频的采集、编解码、转码、流化、过滤和播放等领域。1本文将重点介绍FFmpe…

软件确认测试报告包括的内容和作用简析,专业软件测试公司推荐

软件确认测试是指验证软件是否符合特定需求和规范的过程。它是软件开发生命周期中的一个关键环节&#xff0c;旨在确保软件的功能、性能、稳定性和安全性达到预期的标准&#xff0c;确认测试报告则是整个确认测试过程的总结和归纳&#xff0c;是对软件质量和稳定性的全面评估。…

5分钟教会你夸克网盘批量转存分享,夸克网盘批量保存,付详细图文

大家好&#xff0c;我是徐师兄&#xff0c;今天为大家带来的是夸克网盘批量转存分享&#xff0c;夸克网盘批量保存&#xff0c;付详细图文教程。 前言 夸克网盘批量保存工具下载 前段日子折腾夸克网盘的时候&#xff0c;找来了好多的资源&#xff0c;但这些资源链接非常多&a…

Transformer超详细解读

论文&#xff1a;Attention Is All You Need 作者&#xff1a;Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, Illia Polosukhin 机构&#xff1a;Google Brain 链接&#xff1a;https://arxiv.org/abs/1706.03762…

SQL Server Query Store Settings (查询存储设置)

参考&#xff1a;Query Store Settings - Erin Stellato 在 SQL Server 2017 中&#xff0c;有九 (9) 个设置与查询存储相关。虽然这些设置记录在sys.database_query_store_options中&#xff0c;但我经常被问到每个设置的值“应该”是多少。我在下面列出了每个设置&am…

EXCEL VBA工程密码破解 工作表保护破解

这里写目录标题 破解Excel宏工程加密方法一 新建破解宏文件方法二 修改二进制文件 破解工作表保护引用 破解Excel宏工程加密 如图所示 白料数据处理已工程被加密。 方法一 新建破解宏文件 1 创建一个XLSM文件&#xff0c;查看代码 ALTF11 2 新建一个模块&#xff0c;“插…

夏日狂欢水上漂流的爆笑奇遇记

【夏日狂欢&#xff0c;水上漂流的爆笑奇遇记 —— 月亮姐姐的“睫毛漂流记”】在这个炎炎夏日&#xff0c;当烈日炙烤着大地&#xff0c;每一寸空气弥漫着对清凉的渴望时&#xff0c;一场别开生面的“暑期嘉年华”正悄然掀起一场水上狂欢的浪潮。而在这场盛宴中&#xff0c;月…

【论文】(2024.6) KAN: Kolmogorov–Arnold Networks 阅读笔记 | KAN周边扩展

KAN的优势声称是能以更少的参数量实现更高的精度。KANs在数学上是可靠的、准确的和可解释的。 一 KAN 论文题目&#xff1a;KAN: Kolmogorov–Arnold Networks 论文地址&#xff1a;https://arxiv.org/pdf/2404.19756 代码地址&#xff1a;https://github.com/KindXiaoming/…

如何打造一个专属网盘?可道云teamOS这些个性化设置了解一下

在这个数字化时代&#xff0c;企业对于云端存储和协作工具的需求日益增长。而网盘作为企业协作的重要工具之一&#xff0c;其个性化、定制化的需求也日益凸显。 今天&#xff0c;我要为大家介绍的是一款高度个性化的企业网盘——可道云teamOS。 满足个性化需求的企业网盘 可…

防火墙NAT地址转换和智能选举综合实验

一、实验拓扑 目录 一、实验拓扑 二、实验要求&#xff08;接上一个实验要求后&#xff09; 三、实验步骤 3.1办公区设备可以通过电信链路和移动链路上网(多对多的NAT&#xff0c;并且需要保留一个公网IP不能用来转换) 3.2分公司设备可以通过总公司的移动链路和电信链路访…

【深度学习】PyTorch框架(4):初始网络、残差网络 和密集连接网络

1、引言 在本篇文章中&#xff0c;我们将深入探讨并实现一些现代卷积神经网络&#xff08;CNN&#xff09;架构的变体。近年来&#xff0c;学界提出了众多新颖的网络架构。其中一些最具影响力&#xff0c;并且至今仍然具有重要地位的架构包括&#xff1a;GoogleNet/Inception架…

Qt Style Sheets-使用样式表自定义 Qt 部件

使用样式表自定义 Qt 部件 在使用样式表时&#xff0c;每个小部件都被视为具有四个同心矩形的框&#xff1a;边距矩形、边框矩形、填充矩形和内容矩形。框模型对此进行了更详细的描述。 盒模型 以下是四个同心矩形在概念上的呈现方式&#xff1a; 边距超出边框。边框绘制在边…

自学 阿里巴巴Java开发手册最新版(嵩山版)

&#x1f534; 阿里巴巴Java开发手册最新版&#xff08;嵩山版&#xff09; 一、编程规约(一) 命名风格(二) 常量定义(三) 代码格式(四) OOP 规约(五) 日期时间(六) 集合处理(七) 并发处理(八) 控制语句(九) 注释规约(十) 前后端规范 二、异常日志(一) 错误码(二) 异常处理(三)…

mac环境下安装python3的图文教程

Python 是一种功能多样且强大的编程语言&#xff0c;在各个领域得到广泛应用。许多 Mac 用户都在其设备上安装和运行 Python&#xff0c;以运行特定的应用程序或创建、运行自己的 Python 脚本。 文章源自设计学徒自学网-http://www.sx1c.com/49441.html 虽然某些版本的 macOS…

沃尔玛,temu测评: 搭建稳定高效的自养号测评体系时需要考虑的关键点

​自养号测评是通过自己培养账号进行测评&#xff0c;‌将整个过程的主导权掌握在自己手中&#xff0c;‌可以有效控制测评过程&#xff0c;‌降低风险。建议还是自己精养一批账号&#xff0c;账号在自己手里比较安全可控&#xff0c;随时随地可以给自己送测&#xff0c;精准搜…

现场可重构CPLD芯片应用案例—蓝牙音箱

我司英尚微提供的高性能数模混合现场可重构IC、通用可配置的模数混合芯片内部集成丰富的模拟资源和数字资源&#xff0c;可轻松替代电路中的各种标准器件&#xff0c;并按照客户要求组合成最优小型ASIC&#xff0c;缩短开发周期&#xff0c;降低成本。下面介绍LS98002现场可重构…

openwrt安装netbird

官方版本安装后无法启动&#xff0c;有报错&#xff0c;请使用以下版本&#xff1a; https://github.com/tbc0309/openwrt-netbird 下载地址&#xff1a; https://github.com/tbc0309/openwrt-netbird/releases/ 平台架构根据自己的设备选择&#xff0c;可以通过以下方法获得…

【LeetCode:试题 16.06. 最小差 + 双指针 + 防止整型溢出】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

Visual Studio使用——在vs中给vb.net项目添加新的窗口:新建的方式、添加已有窗口的方式

目录 引出Visual Studio使用vb添加新的窗体自定义代码片段vs显示所有文件 总结Idea安装和使用0.Java下载 和 IDEA工具1.首次新建项目2.隐藏文件不必要显示文件3.目录层级设置4.Settings设置选择idea的场景提示代码不区分大小写 取消git的代码作者显示 引出 Visual Studio使用—…

子进程继承父进程文件描述符导致父进程打开设备文件失败

开发过程中有时会遇到需要在程序中执行三方程序或者shell脚本&#xff0c;一般会通过system(), popen(), exec簇来完成该功能。我们知道以上方法会通过fork创建子进程后在子进程中执行相应指令。如图1为某个示例流程&#xff0c;具体的程序执行流程如图2所示&#xff0c;线程my…