uva10827 循环矩阵的最大子矩阵
2013-04-21 16:49
309 查看
大意
给出一个矩阵,上下左右相连,求最大子矩阵。http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=&problem=1768
分析
相连只有上下、左右两种情况,因此我们只要将A |
A | A |
A | A |
program p10827; Const dx:array[1..3] of longint=(0,1,1); dy:array[1..3] of longint=(1,0,1); Var a:array[-1..160,-1..160] of longint; t,f:array[-1..160] of longint; n,tt,i,j,k,l,ans:longint; begin readln(tt); while tt>0 do begin dec(tt); readln(n); for i:=1 to n do begin for j:=1 to n do begin read(a[i,j]); for k:=1 to 3 do a[i+dx[k]*n,j+dy[k]*n]:=a[i,j]; end; readln; end; ans:=-maxlongint; //枚举矩阵,O(1)求和 O(N^4) for i:=1 to n do for j:=1 to n do for k:=0 to n-1 do for l:=0 to n-1 do begin t[l]:=t[l-1]+a[i+k,j+l]; //Sum (i+k,j) ~ (i+k,j+l) if k=0 then f[l]:=t[l] else inc(f[l],t[l]); //F[ (k,) l]:对于以(i,j)为左上角,(k,l)为右下角矩形之和 if f[l]>ans then ans:=f[l]; end; writeln(ans); end; end.
相关文章推荐
- UVA - 10827 Maximum sum on a torus 求循环矩阵的最大子矩阵
- UVa 10827 Maximum sum on a torus (贪心&矩阵环中的最大子矩阵和)
- UVA 10827 Maximum sum on a torus(环面上的最大子矩阵和)
- uva 10827 - Maximum sum on a torus(最大子矩阵升级版)
- UVA - 10827 Maximum sum on a torus(dp最大子矩阵和)
- uva 10755 - Garbage Heap(三维最大子矩阵)
- UVA 11297 Census(2D线段树解决子矩阵的最大最小)
- uva 10827(循环矩阵最大连续子矩阵和)
- uva 10827 求和最大可延伸的子矩形
- UVA 10827 Maximum sum on a torus 最大矩阵和
- uva 10827 - Maximum sum on a torus(连续最大和问题)
- Take the Land - UVa 10074 变形最大子矩阵和
- uva 108 Maximum Sum 最大子矩阵和
- uva1330 在一个大的矩阵中寻找面积最大的子矩阵
- UVA - 10755 Garbage Heap(最大子矩阵)
- uva 10827 球面最大子矩形
- Uva 507 最大子矩阵和
- HDU1231最大连续子序列&Uva108Maximum Sum最大子矩阵(尺取法)
- UVa 108 Maximum Sum (贪心&最大子矩阵和)
- UVA 108 Maximum Sum (最大子矩阵和) POJ 1050