zoukankan      html  css  js  c++  java
  • FZU 1502 Letter Deletion

    最长公共子序列。

    #pragma comment(linker, "/STACK:1024000000,1024000000")
    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<algorithm>
    #include<vector>
    #include<map>
    #include<set>
    #include<queue>
    #include<stack>
    #include<iostream>
    using namespace std;
    typedef long long LL;
    const double pi=acos(-1.0),eps=1e-8;
    void File()
    {
        freopen("D:\in.txt","r",stdin);
        freopen("D:\out.txt","w",stdout);
    }
    inline int read()
    {
        char c = getchar();  while(!isdigit(c)) c = getchar();
        int x = 0;
        while(isdigit(c)) { x = x * 10 + c - '0'; c = getchar(); }
        return x;
    }
    
    const int maxn=1000;
    char s[maxn],t[maxn];
    int dp[maxn][maxn];
    
    int main()
    {
        while(~scanf("%s%s",s,t))
        {
            memset(dp,0,sizeof dp);
            int lens=strlen(s),lent=strlen(t),ans=0;
            for(int i=0;i<lens;i++)
            {
                for(int j=0;j<lent;j++)
                {
                    if(s[i]==t[j]) dp[i+1][j+1]=dp[i][j]+1;
                    else dp[i+1][j+1]=max(dp[i][j+1],dp[i+1][j]);
                    ans=max(dp[i+1][j+1],ans);
                }
            }
            printf("%d
    ",ans);
        }
        return 0;
    }
  • 相关阅读:
    重塑矩阵
    数组拆分
    最大连续1的个数
    石子游戏
    概率与期望知识总结
    洛谷 P3951 NOIP 2017 小凯的疑惑
    关于结构体的初始化
    山海经:线段树维护最大子段和
    偏序 分块+bitset
    分块练习C. interval
  • 原文地址:https://www.cnblogs.com/zufezzt/p/5740732.html
Copyright © 2011-2022 走看看