• uva10405 Longest Common Subsequence(最长公共序列)


    标题就说明了方法 。。 典型的dp

    题目:

    Problem C: Longest Common Subsequence

    Sequence 1:

    Sequence 2:


    Given two sequences of characters, print the length of the longest common subsequence of both sequences. For example, the longest common subsequence of the following two sequences:

    abcdgh
    aedfhr
    

    is adh of length 3.

    Input consists of pairs of lines. The first line of a pair contains the first string and the second line contains the second string. Each string is on a separate line and consists of at most 1,000 characters

    For each subsequent pair of input lines, output a line containing one integer number which satisfies the criteria stated above.

    Sample input

    a1b2c3d4e
    zz1yy2xx3ww4vv
    abcdgh
    aedfhr
    abcdefghijklmnopqrstuvwxyz
    a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0
    abcdefghijklmnzyxwvutsrqpo
    opqrstuvwxyzabcdefghijklmn
    

    Output for the sample input

    4
    3
    26
    14
    

    代码:

     1 #include <iostream>
     2 #include <cstring>
     3 #include <cstdio>
     4 using namespace std;
     5 
     6 char str1[2000];
     7 char str2[2000];
     8 int d[2000][2000];
     9 int main()
    10 {
    11     while(gets(str1))
    12     {
    13         gets(str2);
    14         int len1= strlen(str1);
    15         int len2= strlen(str2);
    16 
    17         for(int i=1;i<=len1;i++)
    18         {
    19             for(int j=1;j<=len2;j++)
    20             {
    21                 if(str1[i-1]== str2[j-1])
    22                 {
    23                     d[i][j]  = d[i-1][j-1]+1;
    24                 }
    25                 else
    26                 {
    27                     d[i][j] = max (d[i-1][j],d[i][j-1]);
    28                 }
    29             }
    30 
    31         }
    32         cout<<d[len1][len2]<<endl;
    33         memset(d,0,sizeof(d));
    34     }
    35 
    36 
    37     return 0;
    38 }
  • 相关阅读:
    java环境的介绍
    java的介绍
    java编程的思考
    雷达恒虚警率算法---OS-CFAR
    美团笔试-第二题最大汉明距离:
    美团笔试题第一题
    差分反射率的三种标定方法 信号源法 太阳法 降雨法
    有源定标和无源定标
    ocis code中英文
    ES全量索引校验-python
  • 原文地址:https://www.cnblogs.com/doubleshik/p/3495114.html
Copyright © 2020-2023  润新知