题目链接:
http://poj.org/problem?id=1141
题目大意:
给一个由[,],{,}组成的字符串序列,求增加最少的字符,使该序列能够匹配,并输出最后的方案。
解题思路:
区间dp.dp[i][j]表示从i~j 所需的最少的字符使之能匹配,转移的话要么是头尾匹配直接加中间,要么分成两段。
不过要输出到达路径,所以在用一个path[i][j]表示到达该路径时的选择,-1表示头尾,其他表示中间分开的位置。
递归输出路径。递归是个好东西,能够很大程度的改变顺序,特别是逆着的。
PS:这题不能用贪心直接模拟过,不一定非要每步都与前面的都匹配。
测试样例:(([[)]] 长度应为10 用