NOIP2018 提高组复赛 Day1 试题及详细答案.docxVIP

  • 1
  • 0
  • 约4.72千字
  • 约 9页
  • 2026-08-24 发布于河北
  • 举报

NOIP2018 提高组复赛 Day1 试题及详细答案.docx

NOIP2018提高组复赛Day1试题及详细答案

考试时长:3小时

满分:300分(每题100分)

适用语言:C/C++

T1标题:铺设道路

【题目描述】

春春是一名道路工程师,负责铺设一条长度为n的道路。

道路可以看作是n块连续的地砖,初始时所有地砖高度均为0。我们需要通过施工,让每块地砖i的高度变为给定的高度a[i]。

每次施工可以选择一段连续的地砖,将这段地砖的高度全部增加1。求最少需要多少次施工,可以完成道路铺设。

【输入格式】

第一行一个整数n,表示道路地砖数量。

第二行n个整数,第i个数表示第i块地砖的目标高度a[i]。

【输出格式】

输出一个整数,表示最少施工次数。

【数据范围】

对于30%数据:n≤10

对于60%数据:n≤1000

对于100%数据:1≤n≤100000,0≤a[i]≤10000

【样例输入】

PlainText

5

12321

【样例输出】

PlainText

3

【题目思路】

本题为经典贪心题。核心规律:相邻两个位置,若后一个高度大于前一个,二者的高度差即为新增的施工次数;若小于等于,则无需额外施工。

原理:每一段上升的高度差,都需要单独的区间操作覆盖,平稳或下降的部分可以复用之前的施工区间。最终答案为第一个位置的高度,加上所有后项大于前项的高度差之和。

文档评论(0)

1亿VIP精品文档

相关文档