单调栈
Frozensmile
这个作者很懒,什么都没留下…
展开
-
Codeforces 1195E OpenStreetMap 单调栈
思路:对于某一行来说,我们只需要维护[1,b],[2,b+1],[3,b+2]...[m-b+1,m]的最小值,然后再对列进行维护即可,最后的矩阵的和就是答案。如何维护[1,b],[2,b+1],[3,b+2]...[m-b+1,m]的最小值呢?我一开始的思路是把区间的数字放到multiset中,然后set.begin()存的就是最小值,每次区间向右移,则增加新元素,删掉之前区间最左边的元素,但是...原创 2019-07-19 18:04:02 · 275 阅读 · 0 评论 -
Codeforces 1208E Let Them Slide 单调栈
传送门 思路: 对于每一行的第i个数字,记录左边第一个大于它的数字下标j, 右边第一个大于等于它的数字下标k. 这个数字可以贡献的区间范围受到了j和k的限制. 例如,如果某一个区域j可以移动到这,i也可以移动到这,那么肯定优先选j. 所以相当于i可以影响的范围缩小. #include <algorithm> #include <iostream> #inclu...原创 2019-09-02 14:35:45 · 420 阅读 · 0 评论