首页 > 编程语言 >220. 最长公共子序列问题(挑战程序设计竞赛)

220. 最长公共子序列问题(挑战程序设计竞赛)

时间:2023-01-02 16:25:42浏览次数:59  
标签:竞赛 int 序列 字符串 程序设计 最长 输入 220

地址 https://www.papamelon.com/problem/220

给定两个字符串s_1s_2...s_n和t_1t_2...t_n.求出这两个字符串的最长公共子序列的长度。

输入
输入第一行有两个整数m和n,分别表示字符串s和t的长度,输入第二行和第三行分别表示字符串s和t.
1≤n,m≤1000.
输出
对于每行输入,输出一行,包含一个整数,表示这两个字符串![](/i/l/?n=23&i=blog/332907/202301/332907-20230102160551013-1069208185.png)
的最长公共子序列的长度.
样例 1
输入
4 4
abcd
becd
输出
3

题解
动态规划 时间复杂度O(nm)

假设dp[i][j] 表示 S字符串第i个和T字符串第j个的位置上 能达到的最长公共子序列

那么

#include <iostream>
#include <string>

using namespace std;
const int N = 1010;
int dp[N][N];
int n,m;
string a,b;


int main(){
    cin>>n>>m;
    cin >>a>>b;
    a.insert(a.begin(),'#');
    b.insert(b.begin(),'@');

    for(int i=1;i<=n;i++){
        for(int j= 1;j<=m;j++){
            if(a[i]==b[j]){
                dp[i][j] =  dp[i-1][j-1]+1 ;
            }else{
                dp[i][j] = max(dp[i-1][j],dp[i][j-1]);
            }
        }
    }

    cout << dp[n][m]<<endl;

    return 0;
}

我的视频题解空间

标签:竞赛,int,序列,字符串,程序设计,最长,输入,220
From: https://www.cnblogs.com/itdef/p/17020038.html

相关文章

  • C/C++高级语言程序设计课程设计任务书[2022-01-02]
    C/C++高级语言程序设计课程设计任务书[2022-01-02]高级语言程序设计课程设计任务书课程设计名称 中文:高级语言程序设计课程设计英文:ComputerProgrammingBasicCompreh......
  • 213. 字典序最小问题 Best Cow Line(挑战程序设计竞赛)
    地址https://www.papamelon.com/problem/213给定一个字符SS,长度为NN。由SS构成出新的字符串TT,长度也为NN。起初TT是一个空串,然后执行NN次操作,每次操作有两种......
  • 《3D绘图程序设计》彭国伦
    本书分3个部分。第1~10章介绍传统的固定绘图流程和基本3D绘图概念,包括坐标转换、动画与交互、打光、贴图、混合与纹理、动态贴图、StencilBuffer和特效处理等内容。第11~1......
  • 202209-2 何以包邮?
    题意:输入第一行为n,x两个正整数。分别表示n本书和可以包邮的价格下限x。随后n行表示第i本书的价格。现在要求出在所有大于x的价格中,最小的那个。这里的价格是指任意买m(m......
  • 202209-1 如此编码
    题意:第一行给定n和m,表示有n个题目,m表示依据这n个题目的答案计算的结果。第二行给定n个数A1,A2,……An,表示n个题目各自的选项个数。开辟A,B,C三个大小均为n+1的数组。Ci =......
  • 武汉工程大学第五届程序设计新生赛 I题 题解
    (2022,12,3)原题链接(来自牛客竞赛)抽象题意题目有点长,我们需要抽象出一个模型:一个长度为\(n\)的序列\(a_i\),从\(a_1\)开始向后跳,每次可以从\(a_i\)跳到下一位\(a_{i+1}\),......
  • 网络程序设计 实验3 多人聊天室 流式套接字 多线程编程
    实验3多人聊天室实验目的:通过流式套接字编程,及多线程编程,实现简单的多人聊天室。开发语言与工具:VC实验要求:1.使用MFC编程。2.利用流式套接字编程及多线程编程。3......
  • 腾讯TIM PC版 v3.4.3.22064 绿色便携版
    修改历史:2022.12.14:自改官方 3.4.3.22064最新正式版本2022.02.14:自改官方 3.3.9.22051最新正式版本更早更新已省略......修改内容:1、基于WeiDaXia本人修改TIM,由DaX......
  • AI&BlockChain:“知名博主独家讲授”人工智能创新应用竞赛【精选实战作品】之《基于计
    AI&BlockChain:“知名博主独家讲授”人工智能创新应用竞赛【精选实战作品】之《基于计算机视觉、自然语言处理、区块链和爬虫技术的智能会议系统》软件系统案例的界面简介、......
  • 嵌入式:ARM汇编语言程序设计基础教程
    汇编语言程序设计的步骤①合理地分配存储器资源,将前述的目标系统‘数据结构模型’表示到各存储器单元。②CPU寄存器数量有限,在程序中,大多数操作都要使用寄存器;并且有的操......