Codeforces-1313C2-Skyscrapers (hard version)(单调栈)
题目链接
题意
大小为n的数组表示摩天大楼的最大层数,要一个单峰的序列,求n栋楼的层数总和的最大值。
思路
easy版本可以用n2的方法,选取顶峰,然后求层数。
用单调栈可以O(n)解决。
单调栈基本思路讲解
大概就是,用单调栈,就可以用O(n)的复杂度解决,数组向左(右)遍历,第一个比它小(大)的值。所以给一个数组a[n],就可以得到比a[i]小,在 i 的左边且位置离 i 最近的...
原创
2020-02-26 18:22:31 ·
410 阅读 ·
0 评论