线性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;
}
相关推荐
leiming67 小时前
C++ vector容器
开发语言·c++·算法
Xの哲學8 小时前
Linux流量控制: 内核队列的深度剖析
linux·服务器·算法·架构·边缘计算
yaoh.wang8 小时前
力扣(LeetCode) 88: 合并两个有序数组 - 解法思路
python·程序人生·算法·leetcode·面试·职场和发展·双指针
LYFlied9 小时前
【每日算法】 LeetCode 56. 合并区间
前端·算法·leetcode·面试·职场和发展
艾醒9 小时前
大模型原理剖析——多头潜在注意力 (MLA) 详解
算法
艾醒9 小时前
大模型原理剖析——DeepSeek-V3深度解析:671B参数MoE大模型的技术突破与实践
算法
jifengzhiling10 小时前
零极点对消:原理、作用与风险
人工智能·算法
鲨莎分不晴11 小时前
【前沿技术】Offline RL 全解:当强化学习失去“试错”的权利
人工智能·算法·机器学习
XFF不秃头11 小时前
力扣刷题笔记-全排列
c++·笔记·算法·leetcode