ZOJ 1074 最大子矩阵和】的更多相关文章

Description Given a two-dimensional array of positive and negative integers, a sub-rectangle is any contiguous sub-array of size 1*1 or greater located within the whole array. The sum of a rectangle is the sum of all the elements in that rectangle. I…
To the Max Time Limit: 2 Seconds      Memory Limit: 65536 KB Problem Given a two-dimensional array of positive and negative integers, a sub-rectangle is any contiguous sub-array of size 1 x 1 or greater located within the whole array. The sum of a re…
原题链接 题目大意:这是一道好题.在<算法导论>这本书里面,有一节是介绍如何求最大子序列的.这道题有点类似,区别是从数组变成了矩阵,求最大子矩阵. 解法:完全没有算法功底的人当然不知道最大子序列这么经典的东西.所以先请教Google.我是参考了这篇文章的,tengpi.blog.163.com/blog/static/22788264200772561412895/.大意就是另开辟一个同样大小的矩阵,每个元素存放自左侧第一列到该元素的和.然后在纵向上用最大子序列的类似方法计算. 参考代码: /…
Problem Description Given a two-dimensional array of positive and negative integers, a sub-rectangle is any contiguous sub-array of size 1 x 1 or greater located within the whole array. The sum of a rectangle is the sum of all the elements in that re…
矩阵前缀和.因为矩阵中可能包含负值,所以这题肯定不会存在什么剪枝,动态规划的可能性.所以这个题也就没什么弯弯绕绕.个人感觉算不上个Hard题目. 最直观的思路就是枚举子矩阵,既枚举矩阵的左上角节点和右下角节点所构成的子矩阵.枚举是4层循环. 然后矩阵和的计算是两层循环,肯定不能套在枚举子矩阵的循环里. 我们维护一个矩阵前缀和,即prefix[p][q]是左上角0,0节点和右下角p,q节点构成矩阵的面积和. 那么对于任意矩阵:(i,j)(p,q),其矩阵和 = prefix[p][q] – pre…
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3909 题意:给出两个矩阵A和B,找出最大的相同子矩阵S.输出S的高和宽以及在A和B中的位置. 思路:1.利用偏移量,其实就是枚举第二个矩阵跟第一个矩阵的那个位置开始对齐.再明白一点,就是,首先枚举B的(0,0)与A的哪个位置对齐:然后,枚举A的(0,0)与B的哪个位置对齐.这两个可以合并起来,偏移量范围为(-n2,-m2)-(n1,m1). 2.然后就可以直接比较出…
ZOJ题目分类初学者题: 1001 1037 1048 1049 1051 1067 1115 1151 1201 1205 1216 1240 1241 1242 1251 1292 1331 1334 1337 1338 1350 1365 1382 1383 1394 1402 1405 1414 1494 1514 1622 1715 1730 1755 1760 1763 1796 1813 1879 1889 1904 1915 1949 2001 2022 2099 2104 21…
[热烈庆祝ZOJ回归] P1002:简单的DFS #include <cstdio> #include <cstring> #include <algorithm> ][]; int N; int input() { scanf("%d",&N); ;i<N;i++) scanf("%s",map[i]); return N; } ][]; ,sizeof(disable)); } int dfs(int cur)…
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1859 Matrix Searching Time Limit: 10 Seconds      Memory Limit: 32768 KB Given an n*n matrix A, whose entries Ai,j are integer numbers ( 1 <= i <= n, 1 <= j <= n ). An operation FIND t…
        我们考虑一个$N\times M$的矩阵数据,若要对矩阵中的部分数据进行读取,比如求某个$a\times b$的子矩阵的元素和,通常我们可以想到$O(ab)$的遍历那个子矩阵,对它的各个元素进行求和.然而当$a$或$b$很大的时候,这样的计算显得太慢,如果要求子矩阵的最大元素和(如Ural 1146),更是简直慢到不能忍.         于是就想,能不能在读入数据的同时,我就先进行一些预处理,使得到后面进行计算的时候,可以简化一些步骤呢?答案是可以的.        我们开一个…