今天是赶作业的一天,所以没咋做题其实是太懒了,哈哈
做题肯定是要做的,只知道做水题
UVA1625
题意:
输入两个长度分别为n和m(n,m<=5000)的颜色序列,要求按照顺序合并成同一个序列,即每次可以把一个序列开头的颜色放到新序列的尾部。
定义:r(X)为字符X在序列M中的出现最大位置与最小位置之差。
现求一种n+m序列,使得其(sum r(x))最小。
思路:
r[i][j]表示第一个颜色序列前i个字符被使用,第二个序列前j个字符被使用,显然容易写出表达式。
维护一个pos数组,记录一下字符出现的最大位置,然后每次转移的花费就是i+j - pos(i) || pos(j)
慢慢恢复刷题啦~~ 恩,一定可以,O(∩_∩)O