线性dp_acwing

题目:最长公共子序列

897. 最长公共子序列 - AcWing题库

分析

代码

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;

int n, m;
const int N = 1e3+10;
char a[N], b[N];
int dp[N][N];

int main() {
    cin >> n >> m >> a+1 >> b+1;
    
    for(int i = 1; i <= n; i ++) {
        for(int j = 1; j <= m; j ++) {
            dp[i][j] = max(dp[i-1][j],dp[i][j-1]);
            if(a[i]==b[j]) dp[i][j] = max(dp[i][j], dp[i-1][j-1]+1);
        }
    }
    
    cout << dp[n][m] << endl;
    return 0;
}
相关推荐
m0_73809802几秒前
C++中的代理模式实战
开发语言·c++·算法
The_Ticker3 分钟前
日股实时行情接口使用指南
java·经验分享·笔记·python·算法·区块链
靠沿4 分钟前
【递归、搜索与回溯算法】专题一——递归
算法
凌波粒5 分钟前
LeetCode--24.两两交换链表中的节点(链表)
java·算法·leetcode·链表
猫咪老师6 分钟前
RAG与GraphRAG介绍
人工智能·算法·llm
qwehjk200815 分钟前
实时语音处理库
开发语言·c++·算法
2301_8042154118 分钟前
自定义异常类设计
开发语言·c++·算法
暮冬-  Gentle°19 分钟前
C++代码依赖分析
开发语言·c++·算法
2301_7638919522 分钟前
泛型编程与STL设计思想
开发语言·c++·算法
j_xxx404_24 分钟前
蓝桥杯基础--进制转换
开发语言·数据结构·c++·算法·职场和发展·蓝桥杯