题目地址:
这题是求最大子矩阵和。方法是将二维转化一维。
首先用n*n的方法来确定矩阵的列。须要先进行预处理,仅仅对每行来说,转化成一维的前缀和,这样对列的确定仅仅须要前后两个指针来确定。仅仅须要用前缀和相减就可以得到。前后两个指针用n*n的枚举。
确定好了哪几列,那么再确定行的时候就转化成了一维的最大连续子序列的和。
再来一次O(n)的枚举就能够。
这样,总复杂就变成了O(n^3)。对于n为100来说,已经足够了。
代码例如以下:
#include#include #include #include #include #include #include #include #include