ZOJ1463

时间:2021-09-27 13:24:50

题意:给一个括号字符串,求解最少添加的字符能使整个字符串匹配。



输入:

s(未匹配的字符串)



输出:

S(匹配后的字符串)



思路:绝壁超级坑的一道题,格式我不想说什么了,特坑,然后就是对给定的字符串,如果要求添加最小的字符满足添加后的能匹配,那么你需要在里面找到最大的子串,子串必须满足最大匹配量这个条件,所以对于i到j,利用状态转移方程MAX = max(MAX,map[i][k]+map[k+1][j]);可以求得最大匹配量,然后因为要考虑到后面搜索输出处理,所以当两端刚好匹配的时候,要做一个标记,如果不匹配,那么后面搜索对应要分区间搜,说实话,这里我也有点不明白。所以在搜索的时候,按照匹配则原字符串输出,否则的话,添加匹配的字符,然后输出,最后得到的就是能添加最少字符的最优匹配字符串。

代码略。。。。后面补上