基于dp的字符串压缩
思路:首先是要找相同的字符串组,然后进行标记。就着上面的例子是, NEEEEERYESYESYESNEEEEERYESYESYES,变成 2个 NEEEEERYESYESYES,然后里面再变成N5(E)R3(YES),这么一看,似乎就是把这个大的字符串拆成小的字符串进行结合,类似于分治的思想。而且这个题目有最优子结构,对于每个可以合并的串,一定要使用最短的结合方式,否则整个结果一定不是最短的。
于是DP的方程就得到了 dp[ i ][ j ]=min(dp[ i ][ j ],dp[ i ][ k ]+dp[ k+1 ][ j ]) dp[ i ][ j ] 从i到j代表 从i到j 的子字符串长度