3 条题解

  • 0
    @ 2025-4-20 20:14:59
    #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
上传者