摘要: 题目网址:http://poj.org/problem?id=1141此题是经典dp,解法和算法导论的矩阵链乘法相似,用矩阵链乘法中加括号的方法搜索搜有括号的匹配方法,然后用递归的方法算出加括号数的最小值。设i是搜索起点,j是终点dp(i,j)=min{dp(i,k)+dp(k+1,j)}; k从i遍历到j-1。然后用c[][]记录下取得最小值时的分割点,根据分割点再用递归输出结果。a[]中存放输入的字符串注意一点if(a[i]==a[j]),并不表示min{dp(i,j)}==min{dp(i+1,j-1)}, "()()"就是一个反例,因此在dp(i,j)中if(a[i 阅读全文
posted @ 2011-08-17 20:33 枫月寒 阅读(421) 评论(0) 推荐(0) 编辑