坑爹啊!!!!!!!!!!!!!!!!多组输入不说啊!!!!!!!!!!!!!!!!!!!!!!!明明我是一次AC啊!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
好吧以上就是要注意的地方,接下来说说怎么做,主要还是dp,但是有两种思路:
(1)dp[i][j]表示i到j最少插入数,那么递推方程就是:if(s[i]==s[j]) dp[i][j]=dp[i+1][j-1]; else dp[i][j]=min(dp[i][j-1],dp[i+1][j])+1;因为方程只涉及到上一次循环的值所以就把第一维空间压成2就不会MLE啦~(表示我只想到这个思路...不知道下面那个思路别人是怎么搞出来的,有点无语...)
(2)求原串和反串的LCS,答案就是n-LCS的长度,反正我没想到,想到这个之后就那样DP呗,就还是那样压缩空间呗