hdu 4212 吉哥系列故事——完美队形I

来源:互联网 发布:淘宝男装羽绒服 编辑:程序博客网 时间:2024/05/16 05:26

将数组反转,求最长上升公共子串

#include<iostream>#include<cstring>#define maxn 210using namespace std;int a[maxn],b[maxn],n;void input(){cin>>n;for(int i=1,j=n;i<=n;i++,j--){cin>>a[i];b[j]=a[i];}}int solve(){int dp[maxn];memset(dp,0,sizeof(dp));int re=0;for(int i=1;i<=n;i++){int k=0,j=1;for(j=1;j<=n-i+1;j++){if(a[i]==b[j]){if(j!=n-i+1) dp[j]=max(dp[j],dp[k]+2);else dp[j]=max(dp[j],dp[k]+1);}else if(a[i]>b[j]&&dp[k]<dp[j]) k=j;}re=max(dp[j],re);}return re;}int main(){int t;cin>>t;while(t--){input();cout<<solve()<<endl;}return 0;}


0 0
原创粉丝点击