这竟然是IOI虽然是2000年的,但其实也改变不了它水题的本质 我写了两种方法,这里都讲一下吧 考虑记忆化搜索,用f[i][j]表示当区间的左端为i,右端为j时最少要添加多少字符,所以ans就为f[1][n] 然后考虑一下,对于每一个f[i][j],都有转移: s[i]==s[j],则有f[i][j]=f[i+1][j-1] s[i]!=s[j] ,则有f[i][j]=min(f[i+1][j],f[i][j-1])(左右两边加一个字符,看看那种情况更优) 这里连枚举的顺序也懒得推了,直接跑了个…