LCS:设d(i,j)为A1,A2,...,Ai和B1,B2,...,Bj的LCS长度,则当A[i]=B[j]时,d(i,j)=d(i-1,j-1)+1,否则d(i,j)=max{d(i-1,j),d(i,j-1)},时间复杂度为O(nm),其中n和m分别是A和B的长度。输出LCS的思想其实就是倒过来反向推理的过程。代码: #include<bits/stdc++.h> using namespace std; const int maxn = 1e3+7; int a[maxn]; int b[maxn]; int dp[maxn][maxn]; int n, m; void p...