1

假设我们有两个数组mn包含来自 set 的字符a, b, c , d, e。假设集合中的每个角色都有一个与之相关的成本,考虑成本为a=1, b=3, c=4, d=5, e=7

例如

m = ['a', 'b', 'c', 'd', 'd', 'e', 'a']
n = ['b', 'b', 'b', 'a', 'c', 'e', 'd']

假设我们想合并mn形成一个更大的数组s

数组的一个例子s可能是

s = ['a', 'b', 'c', 'd', 'd', 'e', 'a', 'b', 'b', 'b', 'a', 'c', 'e', 'd']

或者

s = ['b', 'a', 'd', 'd', 'd', 'b', 'e', 'c', 'b', 'a', 'b', 'a', 'c', 'e']

如果有两个或更多相同的字符彼此相邻,则应用等于: 的惩罚number of adjacent characters of the same type * the cost for that character。考虑s上面的第二个例子,它包含一个 sub-array ['d', 'd', 'd']。在这种情况下,3*5将应用惩罚,因为与dis相关的成本5和重复次数d3

设计一种动态规划算法,以最小化与 相关的成本s

有没有人可以分享任何资源、论文或算法来帮助我指明正确的方向?

4

0 回答 0