P1002道路建设road

时间限制 1000 ms内存限制 128 MiB通过率 —
显示算法标签贪心 · 排序

【题目背景】

tfbz 的大脑沟回太多,容易胡思乱想,于是 Ehundategh 决定填平一部分。

【题目描述】

tfbz 需要被填平的大脑部分可以被视为一条由 nn 块凹陷组成的道路,第 ii 块凹陷的凹陷深度在一开始为 did_i

Ehundategh 可以做若干次操作,每次操作可以选择一个区间 [l,r][l,r] 满足 lir,di>0\forall l\leq i\leq r,d_i>0,让区间内所有凹陷的深度全都减一,形式化地讲:lir,didi1\forall l\leq i\leq r,d_i\leftarrow d_i-1

Ehundategh 不想多费事,所以 Ehundategh 希望操作次数尽量少,他想知道,最少需要多少次操作,才能填平 tfbz 的大脑。

【输入格式】

从文件 road.in\textbf{\textit{road.in}} 中读入数据。

第一行一个正整数 nn 表示凹陷块数。

第二行 nn 个整数,第 ii 个整数 did_i 表示第 ii 块凹陷的深度。

【输出格式】

输出到文件 road.out\textbf{\textit{road.out}} 中。

一行一个整数表示最小操作次数。

【样例 1 输入】

6   4 3 2 5 3 5 

【样例 1 输出】

9

【说明/提示】

【样例 2】

见选手目录下的 road/road2.in\textbf{\textit{road/road2.in}}road/road2.ans\textbf{\textit{road/road2.ans}}

该组样例满足测试点 132013\sim 20 的数据范围

【数据范围】

测试点编号nn特殊性质
161\sim 610\leq 10
7127\sim 12106\leq 10^6
132013\sim 20106\leq 10^6

特殊性质:{di}\{d_i\} 形成单峰数列,即存在 ii 使得 ajaj+1(j<i)a_j\leq a_{j+1} (\forall j <i),且 ajaj+1(ji)a_j\geq a_{j+1} (\forall j \geq i)

对于 100%100\% 的数据,保证:0di1050\leq d_i\leq 10^5

【题解】

已公开 1 篇题解,官方题解会优先显示。

查看题解