最长公共子序列(LCS)

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

序列的子序列指序列中的一些元素被省略。

给定一个序列 x=<x1,x2,x3,...,xn>x=<x_1,x_2,x_3,...,x_n> 及另一个序列 z=<z1,z2,z3,...,zk>z=<z_1,z_2,z_3,...,z_k>,若 xx 的索引存在严格递增的序列 <i1,i2,i3,...,ik><i_1,i_2,i_3,...,i_k>,则对所有 j=1,2,3,...,kj=1,2,3,...,kxij=zjx_{ij}=z_jzz 都是 xx 的子序列。

例如,z=<a,b,f,c>z=<a,b,f,c> 的索引序列是 <1,2,4,6><1,2,4,6>,它是 <a,b,c,f,b,c><a,b,c,f,b,c> 的子序列。

zz 既是 xx 的子序列,也是yy的子序列,则称zzxxyy的公共子序列。

给定两个序列xxyy,求xxyy的最长公共子序列的长度。

输入格式

每个测试用例都包含两个表示给定序列的字符串,序列由任意数量的空格分隔,保证字符串长度不超过 1000。

输出格式

对每个测试用例,都单行输出最长公共子序列的长度。

样例

abcfbc abfcab
programming contest
abcd mnp
4
2
0

来源

POJ1458

ACM竞赛实践:4_动态规划法

未认领
状态
已结束
题目
22
开始时间
2024-8-31 0:00
截止时间
2024-12-31 23:59
可延期
24 小时