CF526F Pudding Monsters

CF526F Pudding Monsters

3000。

每行每列恰好有一个棋子的棋盘,考虑抽象成一个排列,对于棋子 (x,y)(x,y),即 ax=ya_x=y。

答案就是统计 max⁡−min⁡=r−l\max -\min=r-l 的区间个数。

扫描线维护右端点右扫,单调栈维护后缀的最大最小值,线段树维护后缀的最小 max⁡−min⁡\max-\min 及个数,因为 max⁡−min⁡≥r−l\max-\min\ge r-l。

时间复杂度 O(nlog⁡n)\mathcal O(n\log n)。

posted @ 2022-08-21 10:12  蒟蒻orz  阅读(18)  评论(0)    收藏  举报  来源