原题 f[i][j][0/1]表示i-1处有一个M,i到j压缩后的长度,0/1表示i到j中有没有m. 初始为j-i+1 f[i][j][0]=min(f[i][j][0],f[i][k][0]+j-k) f[i][j][1]=min(f[i][j][1],f[i][k][1]+j-k) f[i][j][1]=min(f[i][j][1],f[i][k][1]+f[k+1][j][1]+1) 判断i,k,j,如果k+1到j可以由i到k重复得到,那么f[i][j][0/1]=min(f[i][j][…