uva 10827 求和最大可延伸的子矩形
2013-04-16 20:21
127 查看
uva 10827 Maximum sum on a torus
为了算可延伸的矩形,要在原矩形的右面、下面和右下再补上矩阵,然后枚举全部的子矩形来求最大的和,枚举时先枚举矩形的左上点,再枚举所有的长和宽
为了算可延伸的矩形,要在原矩形的右面、下面和右下再补上矩阵,然后枚举全部的子矩形来求最大的和,枚举时先枚举矩形的左上点,再枚举所有的长和宽
#include <cstdio> using namespace std; #define MAX 155 int main() { int x,y,i,j,n,s,ans; int c[MAX],b[MAX],a[MAX][MAX]; scanf("%d",&s); while (--s>=0) { scanf("%d",&n); for(i=0;i<n;++i) { for(j=0;j<n;++j) { scanf("%d",&a[i][j]); a[i][j+n]=a[i+n][j]=a[i+n][j+n]=a[i][j]; } } ans=-200; for (x=0;x<n;++x) { for(y=0;y<n;++y) { for(i=0;i<n;++i) { for(j=0;j<n;++j) { c[j]=a[x+i][y+j]; if(j) c[j]+=c[j-1]; if(i) b[j]+=c[j]; else b[j]=c[j]; if (b[j]>ans) ans=b[j]; } } } } printf("%d\n",ans); } return 0; }
相关文章推荐
- uva 10827 球面最大子矩形
- UVa 10827 Maximum sum on a torus (贪心&矩阵环中的最大子矩阵和)
- POJ1964/UVALive 3029 -City Game -求最大子矩形-(暴力枚举/dp)
- Uva 507 - Jill Rides Again(最大子数组求和问题)
- uva 10827 - Maximum sum on a torus(连续最大和问题)
- UVA 10827 Maximum sum on a torus 可循环的最大连续子矩阵
- uva 1312 一个矩形中的最大的子矩形(其中不能包含某些点)
- uva10827 - Maximum sum on a torus(圆环上的最大和)
- uva 10827(循环矩阵最大连续子矩阵和)
- UVA - 10827 Maximum sum on a torus(dp最大子矩阵和)
- uva 10827 - Maximum sum on a torus(最大子矩阵升级版)
- UVA - 10827 Maximum sum on a torus 求循环矩阵的最大子矩阵
- UVA 10827 Maximum sum on a torus 最大矩阵和
- uva10827 循环矩阵的最大子矩阵
- UVA 10827 Maximum sum on a torus(环面上的最大子矩阵和)
- UVa live6525Attacking rooks(二分最大匹配之最大匹配)
- NWERC 2007 / UVa 12124 Assemble (二分搜索&最小值最大问题)
- UVAlive 7037 - The Problem Needs 3D Arrays(网络流‘最大密度子图)
- CF209 Div2 (D) 找最长的连续子序列拥有相同的最大公约数,并且最大公约数是这个序列中的一个数-------左右延伸的方法
- HDU 1506 Largest Rectangle in a Histogram 最大矩形的面积