zoukankan      html  css  js  c++  java
  • 最长公共子序列

    O(n²)

    #include<iostream>
    #include<cmath>
    #include<algorithm>
    #include<cstdio>
    #include<vector>
    #include<queue>
    #include<string.h>
    #include<set>
    #include<map>
    using namespace std;
    const int maxn =1e6+10;
    
    char a[maxn];
    char b[maxn];
    int f[1006][1006];
    int main()
    {
        int n,m;
        cin >> n >> m;
        cin >> a+1;
        cin >> b+1;
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=m;j++)
            {
                f[i][j]=max(f[i-1][j],f[i][j-1]);
                if(a[i]==b[j])
                    f[i][j]=max(f[i-1][j-1]+1,f[i][j]);
            }
        }
        cout << f[n][m] << endl;
        return 0;
    }
  • 相关阅读:
    4-10
    4-9
    第三章例3-4
    第三章例3-3
    第三章例3-2
    第三章例3-1
    第二章例2-11
    第二章例2-10
    第二章例2-9
    第二章例2-8
  • 原文地址:https://www.cnblogs.com/wjc2021/p/11937056.html
Copyright © 2011-2022 走看看