标签:
#include <cstdio> #include <iostream> #include <ctime> #include <vector> #include <cmath> #include <map> #include <stack> #include <queue> #include <algorithm> #include <cstring> using namespace std; typedef long long LL; const int N=1e3+5; const int INF=0x3f3f3f3f; const int mod=1e9+7; int n,m,k; int dp[N][N][11][2]; char a[N],b[N]; int main() { scanf("%d%d%d",&n,&m,&k); scanf("%s",a+1); scanf("%s",b+1); for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ if(a[i]==b[j]) for(int t=1;t<=k;t++) dp[i][j][t][0]=max(dp[i-1][j-1][t][0],dp[i-1][j-1][t-1][1])+1; for(int t=1;t<=k;t++) dp[i][j][t][1]=max(max(dp[i][j-1][t][1],dp[i-1][j][t][1]),dp[i][j][t][0]); } } printf("%d\n",dp[n][m][k][1]); return 0; }
codeforces 682D Alyona and Strings
标签:
原文地址:http://www.cnblogs.com/shuguangzw/p/5615768.html