Interval DP

Interval DP

From:http://www.stanford.edu/class/cs97si/04-dynamic-programming.pdf

Problem:插入最少的字母使输入的串,变成回文串。

Solve:d[i][j]表示i~j最少需要添加几个字母,一个字母即d[i][i]=0。

如果y[1~k]为x[i~j]最佳解,则y[2~k-1]必为x[i+1~j],x[i~j-1]和x[i+1~j-1]其中之一的最优解。

// fill in base cases here
for(t = 2; t <= n; t++)
for(i = 1, j = t; j <= n; i++, j++)
// fill in D[i][j] here

文中还提到一种解法:

View Code

Palindrome

DP, 空间复杂度O(5000*5000) MEL+滚动数组

posted @ 2012-11-29 21:50  zhang1107  阅读(211)  评论(0编辑  收藏  举报