专栏文章
题解:AT_agc021_d [AGC021D] Reversed LCS
AT_agc021_d题解参与者 2已保存评论 1
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @mipv1mc9
- 此快照首次捕获于
- 2025/12/03 18:24 3 个月前
- 此快照最后确认于
- 2025/12/03 18:24 3 个月前
很有意思的题啊!
一开始看到这个正串和反串的 ,就感觉会往回文那边靠。不过这个结论还是很厉害的:
- 性质:正串和反串的 原串的最长回文子序列。其中子序列指的是非连续子序列。
感受一下就感觉很对,而且并不难证明这个结论,很巧妙地:
我们可以通过证明不等关系来证明它必定取等:首先由于最长回文子序列反过来还是一样的,都出现在正串和反串里,所以 ,其中 是最长回文子序列的简称。
随后我们要证明 ,就可以得到 。
考虑这个 在原序列里面长成什么样,设它长度为 ,是原串 中的 ,以及反过来我们也能找到这个串,设为:(在 中的顺序是正过来的)。
我们总能找到一个位置使 而 ,方便起见设 以及 ,这样保证两个串必然有个这样的交点。(画个图就好理解了)
现在,当 的时候,我们很明显可以把串变成 ,这是一个回文串;以及 。都是回文序列,而且总长度是 啊!这意味着至少其中有一个长度为 ,我们就说明了 肯定可以是 。
而当 的时候,我们把这个位置分给两个回文串就可以如上构造了:,往另一个串里塞 就得到了总长为 的两个回文串。画张图辅助理解:


接下来问题转化为原串中最长回文子序列了,这应当是简单的,就不多说了。
相关推荐
评论
共 1 条评论,欢迎与作者交流。
正在加载评论...