题目名称 388. 抢修道路
输入输出 roady.in/out
难度等级 ★★
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 Gravatarcqw 于2009-10-26加入
开放分组 全部用户
提交状态
分类标签
动态规划 离散化
分享题解
通过:10, 提交:27, 通过率:37.04%
Gravatardigital-T 100 0.092 s 0.35 MiB C++
Gravatar真红之蝶 100 0.168 s 30.98 MiB C++
GravatarPom 100 0.177 s 15.56 MiB C++
Gravatarstdafx.h 100 0.178 s 15.87 MiB C++
Gravatar0 100 0.212 s 9.44 MiB C++
GravatarPom 100 0.219 s 15.56 MiB C++
Gravatar/k 100 0.442 s 25.00 MiB C++
Gravatarreamb 100 0.497 s 15.40 MiB Pascal
Gravatar.Xmz 100 0.535 s 0.16 MiB Pascal
GravatarOo湼鞶oO 100 0.541 s 15.40 MiB Pascal
本题关联比赛
20091026
20091026
关于 抢修道路 的近10条评论(全部评论)
回复 @10001 :
blue
Gravatar3280175901
2019-03-11 20:37 2楼
#include<bits/stdc++.h>
using namespace std;
int n,a[1000001][5];
int main()
{
freopen("score2007.in","r",stdin);
freopen("score2007.out","w",stdout);
cin>>n;
int b;
for(int i=1;i<
Gravatar10001
2019-03-11 18:44 1楼

388. 抢修道路

★★   输入文件:roady.in   输出文件:roady.out   简单对比
时间限制:1 s   内存限制:128 MiB

2008 年 5 月 12 日 14 时 28 分,国难时刻, 8.0 级地震灾难突降四川。条条道路被震裂或被巨石和泥石流斩断,座座桥梁被震裂或震垮,座座隧道被撕裂震坏。交通完全瘫痪了,灾区同胞在生死呼唤,生命之路啊,告急!告急!告急!

要想救援物资尽快运送,必须先第一时间修好通往汶川的道路,因此,在地震发生后,有关部门便展开大力抢修。假设修好后的路面高度应当单调上升或单调下降(也就是说,高度上升与高度下降的路段不能同时出现在修好的路中),这样的道路车辆通过的速度将是无穷大(接近光速),货物将在最短的时间内运到灾区。

然而整条路被地震震成了 N 段, N 个整数 A1,…,A N ( 1 ≤ N ≤ 2000 )依次描述了每一段路的高度( 0 ≤ Ai ≤ 1000000000 )。希望找到一个恰好含 N 个元素的不上升或不下降序列 B1,…,Bn, 作为修过的路中每个路段的高度。

由于将每一段路垫高或挖低一个单位的花费相同,修路的总支出可以表示为:

|A1-B1|+|A2-B2|+ … +|An-Bn|

请你计算一下,要修好这段路,在这项工程上的最小支出是多少?总支出不会超过 2^31-1 。

[ 输入格式 ]

输入文件的第一行为一个整数 N ,以下 n 行每行一个整数 Ai ,表示路面的高度。

[ 输出格式 ]

输出文件仅有一个整数,表示如果把路修成高度不上升或高度不下降的最小花费。

[ 输入样例 ]

7
1
3
2
4
5
3
9

[ 输出样例 ]

3

[ 输出说明 ]

将第一个高度为 3 的路段的高度减少为 2 ,将第二个高度为 3 的路段高度增加到 5 ,总花费为 |2-3|+|5-3|=3 ,并且各路段的高度为一个不下降序列 1 , 2 , 2 , 4 , 5 , 5 , 9 。