题意:输入两个字符串A和B,合并成一个串C,属于A和B的字符在C中顺序保持不变。如"abc"和"xyz"可以被组合成"axbycz"或"abxcyz"等。
求最长回文子串的长度(回文串表示从正反两边看完全一致的字符串,如"aba"和"xyyx")。
分析:考虑 c 中的回文子串,既然是子串,就一定可以拆成 a, b 两串的两个子串的 combine。不妨设c是 a[i, j]与 b[k, l]的 combine,则可以考虑动态规划的状态 f[i][j][k][l]表示 a[i, j]与 b[k, l]的 combine 能否组成回文子串。 则可以匹配第一个字符和最后一个字符来转移,根据第一个字符和最后一个字符分别来自 a 还是 b 共有四种转移: