当前位置:网站首页>7-5 最大子矩阵和问题
7-5 最大子矩阵和问题
2022-06-24 19:43:00 【白—】
7-5 最大子矩阵和问题
最大子矩阵和问题。给定m行n列的整数矩阵A,求矩阵A的一个子矩阵,使其元素之和最大。
输入格式:
第一行输入矩阵行数m和列数n(1≤m≤100,1≤n≤100),再依次输入m×n个整数。
输出格式:
输出第一行为最大子矩阵各元素之和,第二行为子矩阵在整个矩阵中行序号范围与列序号范围。
输入样例1:
5 6
60 3 -65 -92 32 -70
-41 14 -38 54 2 29
69 88 54 -77 -46 -49
97 -32 44 29 60 64
49 -48 -96 59 -52 25
输出样例1:
输出第一行321表示子矩阵各元素之和,输出第二行2 4 1 6表示子矩阵的行序号从2到4,列序号从1到6
321
2 4 1 6
代码:
#include<stdio.h>
int dp[5050][5050];
int m,n,ans=-999999,temp,num;
int main(){
scanf("%d%d",&m,&n);
for(int i=1;i<=m;i++)
for(int j=1;j<=n;j++){
scanf("%d",&num);
dp[i][j]=dp[i-1][j]+num;//记录每个[i,j]矩阵的总和
}
int x1,x2,y1,y2;
for(int i=1;i<=m;i++)//一层循环,用于控制子矩阵的下边界
for(int j=1;j<=i;j++){
//二层循环,用于控制子矩阵的上边界
temp=0;
int yy=1;
for(int k=1;k<=n;k++){
//三层循环用于控制子矩阵的右边界
temp+=(dp[i][k]-dp[j-1][k]);
if(temp>ans)//如果值大于最大值则更新
{
ans=temp;
x2=i;
y2=k;
x1=j;
y1=yy;
}
if(temp<0)
{
temp=0;
yy=k+1;
}
}
}
printf("%d\n",ans);
printf("%d %d %d %d",x1,x2,y1,y2);
}
202206222101三
边栏推荐
猜你喜欢
![[introduction to UVM== > episode_8] ~ sequence and sequencer, sequence hierarchy](/img/d0/7d78b00e4f6ad1e8efb73a5d472b09.png)
[introduction to UVM== > episode_8] ~ sequence and sequencer, sequence hierarchy
![[JS] - [tree] - learning notes](/img/62/de4fa2a7c5e52c461b8be4a884a395.png)
[JS] - [tree] - learning notes

案例解析:用「度量」提升企业研发效能|ONES Talk

Case analysis: using "measurement" to improve enterprise R & D efficiency | ones talk

Epics record reference 2 -- epics process database concept

Detailed explanation of online group chat and dating platform project (servlet implementation)

Laravel pagoda security configuration

Idea creation module prompt already exists

EMI的主要原因-工模电流

Chapter VI skills related to e-learning 5 (super parameter verification)
随机推荐
372. chessboard coverage
[introduction to UVM== > episode_8] ~ sequence and sequencer, sequence hierarchy
No main manifest attribute in jar
伪原创智能改写api百度-收录良好
From client to server
R语言使用nnet包的multinom函数构建无序多分类logistic回归模型、使用exp函数和coef函数获取模型中每个变量(自变量改变一个单位)对应的优势比(odds ratio)
并发之共享模型管程
docker-mysql8-主从
国内有哪些好的智能家居品牌支持homekit?
宁德时代定增450亿:高瓴认购30亿 曾毓群仍控制23%股权
257. 关押罪犯
监听 Markdown 文件并热更新 Next.js 页面
【基础知识】~ 半加器 & 全加器
Pseudo original intelligent rewriting API Baidu - good collection
数字IC设计经验整理(二)
Financial management [6]
Construction equipment [4]
257. detention of offenders
R language uses the multinom function of NNET package to build an unordered multi classification logistic regression model, and uses the AIC function to compare the AIC values of the two models (simpl
#22Map介绍与API