其他分享
首页 > 其他分享> > 奇袭 CodeForces 526F Pudding Monsters 题解

奇袭 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