摘要: 题目大意给一个数列,长度不超过 5000,每次可以将其中的一个数加 1 或者减 1,问,最少需要多少次操作,才能使得这个数列单调不降数列中每个数为 -109~109 中的一个数做法分析先这样考虑:如果操作的次数最少,那么最终得到的不降的数列,必然是由原始数列中的数组成的,具体的证明可以使用反证法知道了上面讲述的性质,这题就好搞了先将原始数列(设为 A,共 n 个数)中所有的数去重并从小到达排序,保存在另一个数列中(设为 B,共 m 个数)定义状态:f[i][j] 表示将原始数列中的前 i 个数变成单调不降,第 i 个数最多为 B[j] 的最少操作次数初始化 f[0][0]=abs(A[0]-B 阅读全文
posted @ 2013-08-14 15:48 jianzhang.zj 阅读(664) 评论(0) 推荐(2) 编辑