当前区间f(i, j)分两种情况,一种是s[i]于s[j]符合要求,那么可以转移到f[i + 1][j - 1] 这样答案只会更小或者相等 第二种是直接分成两个部分, 即f[i][j] = f[i][k] + f[k + 1][j],这个时候要取min 同时要注意第一种情况未必是最优的,要从一二两种情况里面取最优值 然后输出方面,按照答案反推,如果当前状态刚好等于其中一种情况,那么就递归下去,边界是 一个字符的时候输出两个字符. 另外学会用fgets,不用gets.fgets头文件cstdio,…