线性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;
}
相关推荐
会编程的土豆13 小时前
【leetcode hot 100】二叉树二叉树
数据结构·算法·leetcode
XiYang-DING13 小时前
【LeetCode】203. 移除链表元素(Remove Linked List Elements)
算法·leetcode·链表
墨神谕13 小时前
希尔排序详解
数据结构·算法·排序算法
胡楚昊13 小时前
Polar PWN (4)
linux·运维·算法
今儿敲了吗13 小时前
51| 数独
算法·深度优先·图论
半瓶榴莲奶^_^13 小时前
优先级队列(堆)
java·数据结构·算法
小樱花的樱花13 小时前
C++引用:高效编程的技巧
开发语言·数据结构·c++·算法
Yupureki13 小时前
《算法竞赛从入门到国奖》算法基础:动态规划-最长子序列
c语言·c++·算法·动态规划
沉鱼.4413 小时前
进制转换题
开发语言·c++·算法
罗湖老棍子13 小时前
维护序列(信息学奥赛一本通- P1551)(洛谷-P2023)
算法·线段树·区间修改区间查询·多重懒标记