奇袭 CodeForces 526F Pudding Monsters 题解
作者:互联网
考场上没有认真审题,没有看到该题目的特殊之处:
保证每一行和每一列都恰有一只军队,即每一个Xi和每一个Yi都是不一样 的。
于是无论如何也想不到复杂度小于$O(n^3)$的算法,
只好打一个二维前缀和草草了事。
所以还是要仔细审题。
$O(n^2)$算法:
因为每行上只有一个军队,每列上仅有一个军队,
我们发现一个性质,如果记录上每行军队的列数,设h(x)表示第x行军队所在列,
一个$x->y$方案是合法的当且仅当$y-x=max(h(i))-min(h(i))$ $i \in [x,y]$,
枚举左右端点,记录已有的信息即可$O(1)$判断每个区间是否合法。
标签:每行,一个,题解,军队,CodeForces,合法,526F,算法,审题 来源: https://www.cnblogs.com/skyh/p/11197707.html