例题:奶牛沐场
最大子矩阵面积,怎么求呢?
可以想到的是,这个矩阵一定是极大子矩阵。(什么?你不知道什么是极大子矩阵?百度吧。。。)
然后怎么求呢?
这个子矩阵每一条边都不可以伸展了,也就是说他的边界上一定有障碍点或者是与边界重合了。
算法一:
直接想到的是,上下左右枚举四个边界,再看看是不是满足条件。
复杂度?
O(n5)
原因是什么?我们枚举了很多没有用的矩阵。
很明显,我们不可以使用这个算法。
算法二
那么,我们可不可以优化一下?
我们只枚举左右边界,然后对范围内的点排序。每两个相邻的点加上左右边界就是目前的矩阵。
复杂度?