文章
5
粉丝
100
获赞
2
访问
48.8k
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int len, current;
while(cin>>len){
int dp[len+1][len+1], A[len+1];
for(int i=0; i<len; i++) dp[0][i] = dp[i][0] = 0;
for(int i=1; i<=len; i++) cin>>A[i];
for(int j=1; j<=len; j++){
cin>>current;
for(int i=1; i<=len; i++){
if(A[i] == current) dp[i][j] = dp[i-1][j-1]+1;
else dp[i][j] = dp[i][j] = max(dp[i-1][j], dp[i][j-1]);
}
}
cout<<dp[len][len];
}
}
登录后发布评论
这种方法在现在的用例中 已经超时了
不知道装什么 超简单 和我的一样只能跑40%的case