3 条题解

  • 1
    @ 2025-4-21 20:29:06
    #include<bits/stdc++.h>
    using namespace std;
    const int N=1e3+10;
    int dp[N][N],c;
    int a[N],b[N];
    int main()
    {
        cin>>c;
        for(int i=1;i<=c;i++)
        {
            cin>>a[i];
        }
        for(int i=1;i<=c;i++)
        {
            cin>>b[i];
        }
        for(int i=1;i<=c;i++)
        {
            for(int j=1;j<=c;j++)
            {
                dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
                if(a[i]==b[j])
                {
                    dp[i][j]=dp[i-1][j-1]+1;
                }
            }
        }
        cout<<dp[c][c];
    }
    
    
    

    信息

    ID
    3260
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    递交数
    67
    已通过
    18
    上传者