就是一单调栈加一点点贪心。
另外,我在写代码的时候,没看到高度为 0 不算建筑,WA 了一发。
另外翻译的 LATEX 令人崩溃,在尽量不改变原翻译的情况下,我改了一下:
#### 题目描述
b 先生到达华沙后,他惊叹于城市摩天大厦的规模宏大,禁不住拍照留念。但现在,当他再回味以前的照片时,他惊讶地发现他甚至不能明确说出照片里建筑物的数量。所以他准备了如下的计划:
首先,把照片中的建筑物视为两条边与地平线平行的长方形,然后把照片从左到右分成 $n$ 个宽度相等的部分。一栋建筑可以横跨几个部分。
然后,分别计算每个部分里能够看见的建筑物的高度。
最后,编写一个程序来计算建筑物的最小数量。
b 先生已经完成了前两步,现在轮到你来完成最后一步了。
#### 输入输出格式
**多组数据。**
每组数据以包含一个整数 $n$ 的行开始($1\le n \le 10^5$)。
接下来的一行包括 $n$ 个整数,第 $i$ 个表示第 $i$ 个块中的可视建筑物的高度,称其为 $h_i$。($0\le hi\le 10^9$).
**注意:$h_i=0$ 表明这一部分没有建筑物。**
#### 输出格式
对于每一组数据,输出一行,包括当前是第几组测试数据和对应数据的建筑物的最小数量。
格式为:`Case i: j`,$i$ 是测试数据编号(注意,不是测试点),$j$ 是建筑物的最小数量。
效果:https://www.luogu.com.cn/paste/lieqc429
“说明”部分不变。