摘要: 题目大意:给你一个序列a[1....n],让你求一个序列b[1....n],满足 bi =a && bc,则最小的调整可以是把b变成c.所以归纳可知上面结论成立。dp[i][j] 表示考虑前i个元素,最后元素为序列中 第j小元素的最优解,a[]数组存原始数组,b[]是对a从小到大排序。dp[i][j] = MIN(dp[i-1][k]) + abs(a[i]-b[j]), (0<k<=j)虽然第一眼会看见是空间n^2 时间n^3的,但是可以发现min(d[i-1][k])可以边做边保存,于是状态转移的时间变成了O(1),且空间也可以滚动,所以最后是空间n,时间n^2 阅读全文
posted @ 2014-03-25 22:45 Chellyutaha 阅读(226) 评论(0) 推荐(0) 编辑