最长公共子序列LIS:
给定两个序列 S1 和 S2 ,求二者公共子序列 S3 的最长的长度。
如:
s1=abcfbc,s2=abfcab
发现:
状态转移方程!!!
lcs[i][j]表示s1的前i个字符与s2的前j个字符的最长公共子序列的长度
于是,代码就出来了:
字符串版本:
#include <iostream>
#include <cstring>
#include <string>
using namespace std;
int dp[110][110];
int main() {
string a, b;
cin >> a >> b;
int lena = a.size();
int lenb = b.size();
for (int i = 1; i <= len