HUD-1559 最大子矩阵,dp模拟
最大子矩阵
Time Limit: 30000/10000 MS (Java/Others)
Memory Limit: 32768/32768 K (Java/Others)
这题的时间限制竟然是10s,有点不科学,贡献了一发WA,是怪样例水还是怪自己没考虑全呢?
题意很简单:找一个x*y的和最大的子矩阵。
貌似没什么思路,其实这题和我们做的连续最大和很类似,只不过这里拓展成二维的了。连续最大和问题我们可以采用前缀和累加法,然后枚举所有区间即可(数据较小的前提),也可以设置一个变量表示当前最大,然后一直比较。此题就可以采用前缀和法,用sum[i][j]表示从1 1到i j这个矩形所有数的和,然后再找找规律就好了,但千万要注意的是求sun[i][j]时减去重复的。具体请看代码:
const int N=1e3+10;
int n,m,x,y,a[N][N],sum[N][N];
int get_ans()
{int ans=0;for(int i=x; i<=n; i++)for(int j=y; j<=m; j++){int ma=sum[i][j]-sum[i-x][j]-sum[i][j-y]+sum[i-x][j-y];ans=max(ans,ma);}return ans;
}
int main()
{int t;scanf("%d",&t);while(t--){scanf("%d%d%d%d",&n,&m,&x,&y);memset(sum,0,sizeof(sum));for(int i=1; i<=n; i++)for(int j=1; j<=m; j++){scanf("%d",&a[i][j]);sum[i][j]=sum[i-1][j]+sum[i][j-1]-sum[i-1][j-1]+a[i][j];}int ans=get_ans();printf("%d\n",ans);}return 0;
}
挺好的一个题,不是很难。
转载于:https://www.cnblogs.com/nyist-TC-LYQ/p/7208175.html
HUD-1559 最大子矩阵,dp模拟相关推荐
- 20190405 DP模拟赛1总结
20190405 DP模拟赛1总结 概况 重要的模型&&方法:T1,T2,T3 分数 失分原因 题目及其题解 [ T1:Lg P2737 [USACO4.1]麦香牛块Beef McNu ...
- hdu 1559 最大子矩阵 (简单dp)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1559 1 #include <cstring> 2 #include <cstdlib& ...
- hdu 1559 最大子矩阵(DP)
题目链接:点击链接 #include<stdio.h> #include<string.h> #define max(a,b) a>b?a:b int d[1005][1 ...
- UVA-10074 最大子矩阵 DP
求出大矩阵里面全为0的最大子矩阵 我自己用的个挫DP写的,感觉写的不是很好,其实可以再优化,DP想法就是以 0 0 到当前 i j 为整体矩阵考虑,当前 i j就是从 i-1 j或者 i,j-1那里最 ...
- POJ3107 Godfather 树形dp+模拟vector
题意: Description Last years Chicago was full of gangster fights and strange murders. The chief of the ...
- Pyramid of Glasses CodeForces - 676B (dp,模拟)
题目:新冠病毒肆虐了好几个月,彻底打乱了大家的学习和生活,终于在阳光明媚的某月,全球迎来了新冠抗战的顺利.为了庆祝全球协力共同抗疫的顺利,同学们准备了一场庆祝晚会,一起幻想以后美好的生活,他们用香槟酒 ...
- BZOJ 2651 城市改建 树形DP+模拟?
题意 给一颗树,删除一条边再加一条边,使它仍为一颗树且任意两点间的距离的最大值最小. 题目数据范围描述有问题,n为1或重建不能使任意两点距离最大值变小,可以输出任意答案. 分析 删除一条边后会使它变成 ...
- HDU 1559 最大子矩阵
最大子矩阵 Time Limit: 30000/10000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Su ...
- USACO2.2【统计,dp,模拟,位运算】
正题 T1:序言页码 PrefaceNumberingPreface NumberingPrefaceNumbering 评测记录:https://www.luogu.org/recordnew/li ...
- bzoj1084 [SCOI2005]最大子矩阵 dp
首先题目是要选几个连续的矩阵,有关连续类的问题是可以最优值直接在相邻两行转移的 而且题目中m<=2是非常方便的条件,分类讨论就可以了 注: 0 0也要转移 码: #include<iost ...
最新文章
- LeetCode 93. Restore IP Addresses--面试算法题--Python解法
- 凡科虚拟服务器怎样做301,虚拟主机301重定向怎么做?网站301重定向方法之一
- 一切尽在掌控之中:这个Python脚本,让工作自动向你汇报进度!
- java飞行_运行java飞行记录器JFR(java flight recorder)
- Delphi窗口属性
- JSON.stringify()实现原理
- 甲骨文裁员后续:近万招聘者哄抢甲骨文前员工
- C#委托之个人理解(转)
- 【GPS】 根据GPS坐标求取两点间距离算法
- jsp java session_JSP Session
- 关于降低软件开发过程中沟通成本的思考
- 大三学生前端实习经验分享
- 原来把300页Word转成PPT,只需要一个键!别再复制粘贴了
- Unity 制作倒计时
- 大数据练习环境部署(3) - Hadoop集群部署
- VSPD虚拟串口工具——使用完一定要删除串口
- 简单10秒教你解除复制限制
- 来自千里之外祖国的关爱
- 美颜sdk磨皮与瘦脸功能代码分析
- 天堂在前方——与所有有梦想、有追求的人共勉