最长公共子序列
动态规划 C++ 公开

avatar Godzilla 发布于 2026-09-26 10:57 更新于 2026-09-26 10:57
返回
最长公共子序列.cpp
#include<bits/stdc++.h>
using namespace std;
int dp[1001][1001];
int main()
{
    string s1,s2;
    cin>>s1>>s2;
    int m=s1.size();
    int n=s2.size();
    s1="#"+s1;
    s2="#"+s2;
    for(int i=1;i<=m;i++)
    {
        for(int j=1;j<=n;j++)
        {
            if(s1[i]==s2[j]) dp[i][j]=dp[i-1][j-1]+1;
            else dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
        }
    }
    cout<<dp[m][n];
    return 0;
}
wzs_oj@kernel:~ — wzs-sh
guest@wzsoj:~$
刷新页面 F5
复制 Ctrl+C
粘贴 Ctrl+V
搜索题目
训练中心
站点公告
今日神谕
CSP 倒计时
排行榜
我的提交
Esc 关闭 Enter 跳转 支持模糊匹配数字