摘要: http://poj.org/problem?id=1050 我们已经知道求最大子段和的dp算法 参考 here 也可参考编程之美有关最大子矩阵和部分。 然后将这个扩大到二维就是这道题。顺便说一下,有时候不要把问题想复杂了,有些问题只能靠暴力求解,而这道题是暴力加算法。 在这个题中,我们可以把二维压缩到一维然后求解最大子段。我们先枚举所求矩阵的起点行和结束行,然后把每一列的数据之和求出,用这些数据和就构造出一个一维的数组(代码中我没有明确表示出这个数组),然后用最大子段和的dp算法求解。 关于二维压缩到一维的过程,适当处理可以大大减小时间复杂度。 最终时间复杂度是O(n^3);... 阅读全文
posted @ 2013-06-26 10:33 xindoo 阅读(230) 评论(0) 推荐(0) 编辑