线性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;
}
相关推荐
gihigo199813 小时前
matlab 基于瑞利衰落信道的误码率分析
算法
foxsen_xia13 小时前
go(基础06)——结构体取代类
开发语言·算法·golang
foxsen_xia13 小时前
go(基础08)——多态
算法·golang
leoufung13 小时前
用三色 DFS 拿下 Course Schedule(LeetCode 207)
算法·leetcode·深度优先
im_AMBER14 小时前
算法笔记 18 二分查找
数据结构·笔记·学习·算法
C雨后彩虹14 小时前
机器人活动区域
java·数据结构·算法·华为·面试
MarkHD15 小时前
车辆TBOX科普 第53次 三位一体智能车辆监控:电子围栏算法、驾驶行为分析与故障诊断逻辑深度解析
算法
苏小瀚15 小时前
[算法]---路径问题
数据结构·算法·leetcode
月明长歌16 小时前
【码道初阶】一道经典简单题:多数元素(LeetCode 169)|Boyer-Moore 投票算法详解
算法·leetcode·职场和发展
wadesir16 小时前
C语言模块化设计入门指南(从零开始构建清晰可维护的C程序)
c语言·开发语言·算法