码迷,mamicode.com
首页 > 其他好文 > 详细

[usaco2008feb_gold]路面修整

时间:2016-10-06 00:26:00      阅读:278      评论:0      收藏:0      [点我收藏+]

标签:

  FJ打算好好修一下农场中某条凹凸不平的土路。按奶牛们的要求,修好后的
路面高度应当单调上升或单调下降,也就是说,高度上升与高度下降的路段不能
同时出现在修好的路中。

  整条路被分成了N段,N个整数A_1, ... , A_N (1 <= N <= 2,000)依次描述
了每一段路的高度(0 <= A_i <= 1,000,000,000)。FJ希望找到一个恰好含N个
元素的不上升或不下降序列B_1, ... , B_N,作为修过的路中每个路段的高度。
由于将每一段路垫高或挖低一个单位的花费相同,修路的总支出可以表示为:

     |A_1 - B_1| + |A_2 - B_2| + ... + |A_N - B_N|

  请你计算一下,FJ在这项工程上的最小支出是多少。FJ向你保证,这个支出
不会超过2^31-1。

 

初始时离散化;

不降序列:

设f[i][j]表示修整到第i块地时,把他修到第j高度或以下时的最小花费;

f[i][j]=min(f[i][j],f[i-1][j]+abs(a[i]-q[j]));

然后不升类比;

 

[usaco2008feb_gold]路面修整

标签:

原文地址:http://www.cnblogs.com/chadinblog/p/5933094.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!