UVA 1625—Color Length(ACM/ACPC Daejeon 2011)




題目鏈接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4500



題意:有兩個序列,序列裏有不同的字母,每個字母的f值 =這個字母最後出現的位置-這個字母最先出現的位置。求把這兩個序列按原順序拼成一個序列的總f值最小是多少。

1、dp[i][j] 表示第一個序列的前i個和第二個序列的前j個進入了總序列。

2、狀態方程

dp[i+1][j] = min(dp[i+1][j],dp[i][j] + sum[i][j]);

其中sum[i][j]表示第一個序列的前i個和第二個序列的前j個進入了總序列之後,已經出現但還沒結束的字母

3、注意邊界情況,最好是從0開始,用當前去更新[i+1][j]和[i][j+1]


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章