Solution 每次遇到这种比较复杂的问题的时候,可以先从比较直观的暴力方法去考虑再去思考如何优化。比如这道题,我们比较容易的想到的是的dp转移。定义: : 到第 个建筑物的最大美丽值。 : 到 之间最矮的建筑物的美丽值,即。 为了降低复杂度,DP存在很多种优化方式,而这道题需要用到单调队列优化。 仔细观察,我们可以发现 是单调递增的, 是固定的。利用单调栈维护单调递减的 数组对应的下标,对于 , 我们可以找到左侧最近的 , 使得 ,此时 有两种可能: 将 和 放入到一张照片,此时答案为 将 放入到一张照片, O(NlogN) #include <bits/...