跳转至

构建回文串/编辑距离

[IOI2000] 回文字串

回文词是一种对称的字符串。任意给定一个字符串,通过插入若干字符,都可以变成回文词。此题的任务是,求出将给定字符串变成回文词所需要插入的最少字符数。

比如 \(\verb!Ab3bd!\) 插入 \(2\) 个字符后可以变成回文词 \(\verb!dAb3bAd!\)\(\verb!Adb3bdA!\),但是插入少于 \(2\) 个的字符无法变成回文词。

注意:此问题区分大小写。

对于全部数据,\(0<l\le 1000\)


我们考虑吧原来的串S发过来变成T,求S,T的最长公共子序列,那么剩下的那些字母就是我们需要插入的了(即我们要插入的字符数是S长度减去公共子序列的长度)