hdu1081】的更多相关文章

F - 最大子矩形 Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64u Submit Status 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 withi…
最大字段和题型,推荐做题顺序: HDU1003    HDU1024     HDU1081  zoj2975  zoj2067 #include<cstdio> #include<cstdlib> #include<iostream> #include<memory.h> using namespace std; int n,a[110][110]; int y[110],maxp[110]; int Max; int main() { int i,j,k…
最大字段和题型,推荐做题顺序: HDU1003 HDU1024 HDU1081  ZOJ2975 ZOJ2067 #include<cstdio> #include<cstdlib> #include<iostream> #include<memory.h> using namespace std; ][]; ],maxp[]; int Max; int main() { int i,j,k; while(~scanf("%d",&…
直接暴力枚举所有子矩形至少需要O(n^4)的复杂度,显然这不是一个合理的解决方法. 上述方案忽略了矩形之间的联系,进行了过多不必要的计算. 实际上如果固定矩形的左右边界,则底边在i行的矩形内数值之和与底边在i-1行的矩形的关系为 f[i] = s[i] + max(0, f[i - 1]), s[i]表示当前行对应的数值之和. 本题枚举是切入口,通过枚举把所有矩形分成左右边界固定的矩形族,而后再进行动态规划,可降低复杂度至O(n^3). acm.hdu.edu.cn/showproblem.ph…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1081 分析:a[i][j]代表第i行,前j个数据的和:那么由a[i][j]可得sum[k][long]=a[k][j]-a[k][i-1];long=j-i+1; sum[k][long]表示第k行,从第i个数开始到第j个数长度为long的和:又因为循环是连续的,所以long固定时, 一个子矩阵和就是sum[k][long];则最大子矩阵ans=max(Sum(sum[k][long]),ans):…
题目链接 Problem - 1081 题意 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…
题意:给出一个 n * n 的数字矩阵,问最大子矩阵和是多少. 由于和最长子段和问题类似,一开始想到的就是 DP ,一开始我准备用两个循环进行 DP ,对于每一个 (i,j) ,考察(i - 1,j)与(i,j - 1), dp 值代表以该点为右下角的最大矩阵和,同时记录下这个矩阵的左上角坐标,状态转移时通过将原和最大矩阵通过补边推到当前和最大矩阵.但是其实这种做法有一个明显的问题,就是转移时,补上边后 dp 值相同怎么办,dp 值相同而矩阵不同的话会影响到下一次状态转移后补上的矩阵的情况,从而…
To The Max Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 11685    Accepted Submission(s): 5649 Problem Description Given a two-dimensional array of positive and negative integers, a sub-recta…
To The Max Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 12471    Accepted Submission(s): 5985 Problem Description Given a two-dimensional array of positive and negative integers, a sub-rectan…
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1081 自己真够垃圾的,明明做过一维的这种题,但遇到二维的这种题目,竟然不会了,我也是服了(ps:猪啊). 最终还是看了题解. 代码如下: #include <iostream> #include <stdio.h> #include <string.h> #include <algorithm> #define inf 0x3f3f3f3f using namesp…