线性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;
}
相关推荐
IronMurphy1 小时前
【算法三十九】994. 腐烂的橘子
算法
Ares-Wang2 小时前
算法》》旅行商问题 TSP、7座桥问题 哈密顿回路 深度优先 和 宽度优先
算法·深度优先·宽度优先
Liqiuyue2 小时前
Transformer:现代AI革命背后的核心模型
人工智能·算法·机器学习
WolfGang0073212 小时前
代码随想录算法训练营 Day34 | 动态规划 part07
算法·动态规划
Kk.08023 小时前
Linux(十一)fork实例练习、文件操作示例及相关面试题目分享
linux·运维·算法
潇冉沐晴4 小时前
2026CCCC第三次模拟赛 部分题解
算法
WolfGang0073214 小时前
代码随想录算法训练营 Day32 | 动态规划 part05
算法·动态规划
碧海银沙音频科技研究院4 小时前
1-1杰理蓝牙SOC的UI配置开发方法
人工智能·深度学习·算法
啊我不会诶5 小时前
2024CCPC长春邀请赛
算法