如题,原翻译为:
给定三个字符串 s,t,g,求出满足以下条件的任一字符串 k:
- k 为 s,t 的 LCS(最长公共子序列)。
- g 不为 k 的子串。
如果不存在 k,则输出 0。
考虑例子:
ABCD
ABCD
ABCD
若按此翻译,k 必须是 s,t 的 LCS,因此只能是 ABCD,但这样又违反第二个条件,因此应该输出无解。
然而,按题目原意,这个例子应该有解,例如第一篇题解会输出 BCD。
仔细阅读原题,会发现,它的表述是:
find the longest common subsequence of s1 and s2, such that it doesn't contain virus as a substring
这里 such that 后面是一个表示限定词的从句,所以正确的中文翻译应该是:
给定三个字符串 s,t,g,求出满足以下条件且最长的字符串 k:
- k 为 s,t 的公共子序列。
- g 不为 k 的子串。
如果不存在 k,则输出 0。 如果存在,则输出任意一个解。
附上 markdown 源码:
给定三个字符串 $s,t,g$,求出满足以下条件且最长的字符串 $k$:
- $k$ 为 $s,t$ 的公共子序列。
- $g$ 不为 $k$ 的子串。
如果不存在 $k$,则输出 `0`。 如果存在,则输出任意一个解。