您的位置:首页 > 其它

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

2014-11-09 21:53 369 查看
题目链接: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]


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: