zoukankan      html  css  js  c++  java
  • UVA 10405 Longest Common Subsequence (dp + LCS)

    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

    题意:给定两个序列,求最长公共子序列。

    思路:dp中的LCS问题。。裸的很水。状态转移方程为

    字符相同时: d[i][j] = d[i - 1][j - 1] + 1,不同时:d[i][j] = max(d[i - 1][j], d[i][j - 1])

    代码:

    #include <stdio.h>
    #include <string.h>
    
    char a[1005], b[1005];
    int d[1005][1005], i, j;
    
    int max(int a, int b) {
    	return a > b ? a : b;
    }
    int main() {
    	while (gets(a) != NULL) {
    		gets(b);
    		memset(d, 0, sizeof(d));
    		int lena = strlen(a);
    		int lenb = strlen(b);
    		for (i  = 1; i <= lena; i ++)
    			for (j = 1; j <= lenb; j ++) {
    				if (a[i - 1] == b[j - 1]) {
    					d[i][j] = d[i - 1][j - 1] + 1;
    				}
    				else {
    					d[i][j] = max(d[i - 1][j], d[i][j - 1]);
    				}
    			}
    		printf("%d
    ", d[lena][lenb]);
    	}
    	return 0;
    }


  • 相关阅读:
    数据库语句学习(union语句)
    终于开通博客了啦
    Winform用Post方式打开IE
    Winform webbrowser 隐藏 html 元素
    MVC 附件在线预览
    典型用户和场景
    我的第一篇博客01
    大数据算法摘录
    mac下查看端口占用情况
    tomcat的运行脚本
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3283509.html
Copyright © 2011-2022 走看看