【最大矩阵和】最大加权矩形 rqnoj106
最大加权矩形rqnoj106
题目描述
给定一个正整数n( n<=100),然后输入一个N*N矩阵。求矩阵中最大加权矩形,即矩阵的每一个元素都有一权值,权值定义在整数集上。从中找一矩形,矩形大小无限制,是其中包含的所有元素的和最大 。矩阵的每个元素属于[-127,127]
例:
0 –2 –7 0 在左下角: 9 2
9 2 –6 2 -4 1
-4 1 –4 1 -1 8
-1 8 0 –2 和为15
输入格式
第一行:n,接下来是n行n列的矩阵。
输出格式
最大矩形(子矩阵)的和。
样例输入
4
0 -2 -7 0
9 2 -6 2
-4 1 -4 1
-1 8 0 -2
样例输出
15
这一题可以说是前面 【贪心】旅游路线 那一题的升级版,这个是取一个矩形
同样,需要把所选的矩形压缩到一行,然后样最大子区间和来解决
建议先看看旅游路线那一题http://www.cnblogs.com/oijzh/archive/2012/10/19/2731052.html
我们需要一个sum[i][j]来存储第j列的前i行之和,比如样例中sum[3][2]=-2+2+1=1
分别枚举要取矩形的上边行数 i 和下边行数 j ,然后用sum[j][k]-sum[i-1][k]就是压缩到一行的第k列的值,然后就可以用递推来求出最大子区间和:用f[k]表示以 k 结尾的最大子区间和,记cc=sum[j][k]-sum[i-1][k],那么f[k]=max(f[i-1]+cc,cc);并同时找最大值
C++ Code
/*
C++ Code
http://oijzh.cnblogs.com
*/
#include<cstdio>
#include<algorithm>
using namespace std;
#define MAXN 110
#define INF 0x7fffffffint n,a[MAXN][MAXN],sum[MAXN][MAXN];//sum[i][j]表示第j列前i行之和
int f[MAXN];int main()
{freopen("rqn106.in","r",stdin);freopen("rqn106.out","w",stdout);scanf("%d",&n);int i,j;for(i=1;i<=n;i++)for(j=1;j<=n;j++)scanf("%d",&a[i][j]);for(i=1;i<=n;i++)for(j=1;j<=n;j++)sum[i][j]=sum[i-1][j]+a[i][j];int k,maxx=-INF;for(i=1;i<=n;i++)for(j=i;j<=n;j++)for(k=1;k<=n;k++){int cc=sum[j][k]-sum[i-1][k];f[k]=max(f[k-1]+cc,cc);maxx>?=f[k];}printf("%d",maxx);return 0;
}
转载于:https://www.cnblogs.com/oijzh/archive/2012/10/19/2731678.html
【最大矩阵和】最大加权矩形 rqnoj106相关推荐
- 矩阵压缩降维动态规划递推【P1719 最大加权矩形】
矩阵压缩&降维&动态规划&递推[P1719 最大加权矩形] 题目描述 为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为,我们不光需要机房,我们还需要 ...
- 前缀和与差分——最大加权矩形
前缀和与差分--最大加权矩形 题目描述 为了更好的备战 NOIP2013,电脑组的几个女孩子 LYQ,ZSC,ZHQ 认为,我们不光需要机房,我们还需要运动,于是就决定找校长申请一块电脑组的课余运动场 ...
- 洛谷 P1719 最大加权矩形
P1719 最大加权矩形 题目描述 为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为,我们不光需要机房,我们还需要运动,于是就决定找校长申请一块电脑组的课余运动场地,听说她 ...
- 洛谷 P1719 最大加权矩形 (前缀和,动态规划)
题目描述 为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为,我们不光需要机房,我们还需要运动,于是就决定找校长申请一块电脑组的课余运动场地,听说她们都是电脑组的高手,校长没 ...
- P1719 最大加权矩形(二维前缀和Java)
P1719 最大加权矩形 题目链接:https://www.luogu.com.cn/problem/P1719 题目描述 为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为 ...
- 最大加权矩形 压缩+前缀和+dp
题目描述 为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为,我们不光需要机房,我们还需要运动,于是就决定找校长申请一块电脑组的课余运动场地,听说她们都是电脑组的高手,校长没 ...
- P1719 最大加权矩形(二维dp)
P1719 最大加权矩形(二维dp) 原题戳这里 题目描述 为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为,我们不光需要机房,我们还需要运动,于是就决定找校长申请一块电脑 ...
- P1719 最大加权矩形【前缀和】
题目描述 为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为,我们不光需要机房,我们还需要运动,于是就决定找校长申请一块电脑组的课余运动场地,听说她们都是电脑组的高手,校长没 ...
- 洛谷 P1719 最大加权矩形 动态规划
题目描述 为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为,我们不光需要机房,我们还需要运动,于是就决定找校长申请一块电脑组的课余运动场地,听说她们都是电脑组的高手,校长没 ...
最新文章
- jsp与java_JSP与JavaBeans
- 计算机在线作业题,中医大计算机在线作业及答案-20210412090026.docx-原创力文档
- 使用PHP将HTTP标头设置为UTF-8
- synchronized()_这篇文章带你彻底理解synchronized关键字
- Exynos1080处理器性能与功耗究竟怎么样?
- 第一天开博,想和大家认识。
- 急需能临时发邮件的临时邮箱 临时邮箱怎么注册 邮箱163注册入口在哪
- ios免越狱脚本实现方案
- 调剂深圳大学计算机技术,深圳大学:2020年硕士研究生招生调剂办法公告
- python中ix用法_在python的pandas模块中,DataFrame对象,如何选择一行?索引、loc、iloc、ix的用法及区别...
- 一次 Young GC 的优化实践(FinalReference 相关)
- leetcode打家劫社简单实现--python
- 详细阅读Spark论文
- 华为云Stack智能进化,三大举措赋能政企深度用云
- HTML文字动画,缓慢浮入
- java发送outlook_在Outlook 2007中发送民意调查
- 最新C语言深入剖析班项目实战教程(国嵌 唐老师主讲)
- Android Studio 中文社区
- 用Visio绘制深度模型结构图的基本单元_斜立方体
- 全国计算机竞赛能保送清华北大吗,NOIP考试是什么?能保送清华北大是真的吗?...
热门文章
- python爬虫获取京东手机图片
- java 两位小数_java保留两位小数及多位小数的方法 | 夕辞
- 预设(Presets) · Babel 中文文档
- 分享Python开发的13个小游戏(附源码)
- Android引导蒙层,安卓新手引导图,引导图层,支持椭圆,圆形,矩形多种形状,一行代码快速搞定
- gitee错误failed to push some refs to
- you-get使用命令
- python 的scrapy框架
- shell字段拼接日期_通过shell脚本获取日期,并赋给变量(转)
- ACCESS高级注入教程