题目链接 Problem - 1159 (hdu.edu.cn)
视频链接 最长公共子序列 - 动态规划 Longest Common Subsequence - Dynamic Programming_哔哩哔哩_bilibili
很透彻,一下就懂了,可就是想不出来
这个博主有板子题,链接(click)_lxt_Lucia的博客-优快云博客
#include<iostream>
#include<cstring>
using namespace std;
const int N=1010;
char a[N],b[N];
int f[N][N];
int main()
{
while(scanf("%s %s",a+1,b+1)!=EOF)
{
int la=strlen(a+1),lb=strlen(b+1);
for(int i=1;i<=la;i++)
{
for(int j=1;j<=lb;j++)
{
if(a[i]==b[j])
f[i][j]=f[i-1][j-1]+1;
else
f[i][j]=max(f[i-1][j],f[i][j-1]);
}
}
cout<<f[la][lb]<<'\n';
}
return 0;
}