DP-最长公共子序列

题面:

样例:

思路:

这里我们状态表示确实比较奇怪,两个序列用二维来表示比较好想,但是这个表示的意义就记住吧hhh。这里比较难想的是状态划分,既然我们想要用前面的来表示后面的(也就是说要用到到推思想)那我们就从到底选不选第一个序列的第i个数以及第二个序列的第j个数来分类。这里一开始划分的时候没想到同时选i,j有一个先决条件。就是这两个数字必须相等,所以我们对a[i],b[j]是否相等来划分序列。

代码:

#include<iostream>
#include<string>using namespace std;const int N = 1010;int n,m;
char a[N],b[N];
int f[N][N];int main(void)
{cin >> n >> m;for(int i = 1;i <= n;i++) cin >> a[i];for(int i = 1;i <= m;i++) cin >> b[i];//if(a[1] == b[1]) f[1][1] = 1;for(int i = 1;i <= n;i++)for(int j = 1;j <= m;j++){f[i][j] = max(f[i][j-1],f[i-1][j]);if(a[i] == b[j]){f[i][j] = max(f[i][j],f[i-1][j-1]+1);}//这里其实可以不写elseelse{f[i][j] = max(f[i][j],f[i-1][j-1]);}}cout << f[n][m] << endl;return 0;
}

tips:

其实自己在想的时候默认选i不选j这种情况就是f[i][j-1],实则不然,f[i][j-1]这个集合是包含了选i不选j这种情况的(选i不选j是小于f[i][j-1]这个集合的),但是这里在这道题里面是不影响的,我们求的是最长值,并不是计算数量的问题,重复了也无所谓。同样我们在算f[i-1][j-1]的时候也是没必要计算的。而且忘记了max只能两个参数hhh。

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

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

相关文章

DVWA-DOM型XSS全等级绕过方法

DOM型XSS全等级绕过 前言一、LOW级别二、Medium级别 图片插入语句法 三、High级别 字符 # 绕过服务端过滤 四、Impossible级别 前言 DOM&#xff0c;全称Document Object Model&#xff0c;是一个平台和语言都中立的接口&#xff0c;可以使程序和脚本能够动态访问和更新文档…

人工智能与自闭症的研究现状及未来趋势

人工智能与自闭症的研究现状及未来趋势 摘要&#xff1a;本研究旨在通过文献计量学方法&#xff0c;分析人工智能领域内关于自闭症研究的现状与未来趋势。研究基于中国知网&#xff08;CNKI&#xff09;、万方数据库&#xff08;WanFang&#xff09;、维普数据库&#xff08;V…

zero自动化框架搭建---Git安装详解

一、Git下载 下载安装包 官网下载 下载的地址就是官网即可&#xff1a;Git - Downloads 进来直接选择windows的安装包下载 选择安装位置 双击安装包安装&#xff0c;选择安装地址后点击next 选择安装的组件&#xff0c;默认即可 也可按照需要自行选择 Windows Explorer i…

【精调】LLaMA-Factory 快速开始1: Meta-Llama-3.1-8B-Instruct

llamafactory-cli train examples/train_lora/llama3_lora_sft.yaml llamafactory-cli chat examples/inference/llama3_lora_sft.yaml llamafactory-cli export examples/merge_lora/llama3_lora_sft.yaml模型下载 git clone https://www.modelscope.cn/LLM-Research/Meta-Lla…

服务器创建conda环境并安装使用jupyter

1.创建conda环境 conda create --name myenv python3.8 conda activate myenv其中 myenv 是您想要创建的环境名称&#xff0c;可以根据需要替换为其他名称。2.安装juypter conda install jupyter3.启动juypter jupyter notebook复制链接到浏览器打开 4.设置jupyter使用的 …

树莓派 4B:AI 物联网完整部署方案

引言 人工智能&#xff08;AI&#xff09;和物联网&#xff08;IoT&#xff09;正在快速融合&#xff0c;使得智能监控、工业自动化、智能家居等场景变得更加智能化。树莓派 4B 作为一款低功耗、高性价比的嵌入式计算平台&#xff0c;可以运行 AI 模型&#xff0c;并结合 IoT …

JVM类文件结构深度解析:跨平台基石与字节码探秘

目录 一、类文件&#xff1a;Java生态的通用语言 1.1 字节码的桥梁作用 1.2 类文件核心优势 二、类文件二进制结构剖析 2.1 整体结构布局 2.2 魔数与版本控制 2.3 常量池&#xff1a;类文件的资源仓库 2.4 访问标志位解析 三、核心数据结构详解 3.1 方法表结构 3.2 …

亲测可用,IDEA中使用满血版DeepSeek R1!支持深度思考!免费!免配置!

作者&#xff1a;程序员 Hollis 之前介绍过在IDEA中使用DeepSeek的方案&#xff0c;但是很多人表示还是用的不够爽&#xff0c;比如用CodeChat的方案&#xff0c;只支持V3版本&#xff0c;不支持带推理的R1。想要配置R1的话有特别的麻烦。 那么&#xff0c;今天&#xff0c;给…

Java语法-集合

Java语法 Day19 晨考 Collections工具类 /* Collection 集合工具类 此类中的方法全部为静态方法 此类种提供了用于操作集合的各种方法swap(List<?> list,int i,int j) 交换指定位置的集合中的元素 sort(List<T> list,Comparator<? super T> c) 根…

网络缓存加速技术解析:从诞生到演进

目录 早期探索&#xff1a;浏览器缓存的出现 网络架构升级&#xff1a;代理服务器缓存的应用 全球化加速&#xff1a;CDN 缓存的崛起深入了解CDNhttps://blog.csdn.net/m0_68472908/article/details/145744082?spm1001.2014.3001.5501 技术革新&#xff1a;HTTP/2 协议带来…

深度学习的力量:精准肿瘤检测从此不再遥远

目录 引言 一、医学图像分析的挑战与深度学习的优势 1.1 医学图像分析的挑战 1.2 深度学习的优势 二、肿瘤检测的深度学习模型设计 2.1 卷积神经网络&#xff08;CNN&#xff09;的基本原理 2.2 网络架构设计 2.3 模型训练 三、肿瘤检测中的挑战与解决方案 3.1 数据不…

蓝桥杯学习大纲

&#xff08;致酷德与热爱算法、编程的小伙伴们&#xff09; 在查阅了相当多的资料后&#xff0c;发现没有那篇博客、文章很符合我们备战蓝桥杯的学习路径。所以&#xff0c;干脆自己整理一篇&#xff0c;欢迎大家补充&#xff01; 一、蓝桥必备高频考点 我们以此为重点学习…

利用AFE+MCU构建电池管理系统(BMS)

前言 实际BMS项目中&#xff0c;可能会综合考虑成本、可拓展、通信交互等&#xff0c;用AFE&#xff08;模拟前端&#xff09;MCU&#xff08;微控制器&#xff09;实现BMS&#xff08;电池管理系统&#xff09;。 希望看到这篇博客的朋友能指出错误或提供改进建议。 有纰漏…

RT-Thread+STM32L475VET6实现呼吸灯

文章目录 前言一、板载资源资源说明二、具体步骤1.新建rt_thread项目2. 打开PWM设备驱动3. 在Stm32CubeMX配置定时器3.1打开Stm32CubeMX3.2 使用外部高速时钟&#xff0c;并修改时钟树3.3打开定时器1&#xff0c;并配置通道一为PWM输出模式(定时器根据自己需求调整)3.4 打开串口…

新手小白如何挖掘cnvd通用漏洞之存储xss漏洞(利用xss钓鱼)

视频教程和更多福利在我主页简介或专栏里 &#xff08;不懂都可以来问我 专栏找我哦&#xff09; 如果对你有帮助你可以来专栏找我&#xff0c;我可以无偿分享给你对你更有帮助的一些经验和资料哦 目录&#xff1a; 一、XSS的三种类型&#xff1a; 二、XSS攻击的危害&#x…

详解TCP协议多种机制

1.TCP报文格式 为了方便后续各位深入理解TCP机制&#xff0c;我们有必要先了解一下TCP的报文格式&#xff0c;首先我们先来看如下图 第四行那六个单词分别有不同的作用&#xff0c;初始为0&#xff0c;无作用&#xff0c;置为1即代表不同作用&#xff0c;具体后面会介绍。 我…

Python蓝桥杯刷题-小数第n位详解

题目描述 我们知道&#xff0c;整数做除法时&#xff0c;有时得到有限小数&#xff0c;有时得到无限循环小数。 如果我们把有限小数的末尾加上无限多个 0&#xff0c;它们就有了统一的形式。 本题的任务是&#xff1a;在上面的约定下&#xff0c;求整数除法小数点后的第 n 位开…

android,flutter 混合开发,pigeon通信,传参

文章目录 app效果native和flutter通信的基础知识1. 编解码器 一致性和完整性&#xff0c;安全性&#xff0c;性能优化2. android代码3. dart代码 1. 创建flutter_module2.修改 Android 项目的 settings.gradle&#xff0c;添加 Flutter module3. 在 Android app 的 build.gradl…

Redis 客户端C++使用

安装 redis-plus-plus 在C中使用Redis&#xff0c;通常需要借助第三方库来实现与Redis服务器的交互。目前比较流行的库有 redis-plus-plus 和 hiredis。redis-plus-plus 是基于 hiredis 实现的&#xff0c;hiredis 是⼀个 C 语⾔实现的 redis 客⼾端&#xff0c;因此需要先安装…

Python的那些事第二十二篇:基于 Python 的 Django 框架在 Web 开发中的应用研究

基于 Python 的 Django 框架在 Web 开发中的应用研究 摘要 Django 是一个基于 Python 的高级 Web 框架,以其开发效率高、安全性和可扩展性强等特点被广泛应用于现代 Web 开发。本文首先介绍了 Django 的基本架构和核心特性,然后通过一个实际的 Web 开发项目案例,展示了 Dj…