【模板】51nod 1051 最大子矩阵和
2024-09-02 00:57:30
【题解】
二重循环枚举起始列和终止列,竖着往下加,转化为一个最大子段和问题,逐行累加即可。
#include<cstdio>
#include<cstring>
#include<algorithm>
#define LL long long
#define N 1000
#define rg register
using namespace std;
int n,m,x;
LL ans,sum[N][N];
inline int read(){
int k=,f=; char c=getchar();
while(c<''||c>'')c=='-'&&(f=-),c=getchar();
while(''<=c&&c<='')k=k*+c-'',c=getchar();
return k*f;
}
int main(){
m=read(); n=read();
for(rg int i=;i<=n;i++)
for(rg int j=;j<=m;j++) x=read(),sum[i][j]=sum[i][j-]+x;
for(rg int i=;i<=m;i++)
for(rg int j=i;j<=m;j++){
LL tmp=;
for(rg int k=;k<=n;k++){
tmp+=sum[k][j]-sum[k][i-];
if(tmp<) tmp=;
else ans=max(ans,tmp);
}
}
printf("%lld\n",ans);
return ;
}
最新文章
- Json序列化与反序列化
- CSS代码记录
- Java递归算法——二分查找
- Android IOS WebRTC 音视频开发总结(七五)-- WebRTC视频通信中的错误恢复机制
- javascript的onbeforeunload函数在IOS上运行
- NoSQL数据库的分布式模型
- [iOS]提交App报错ERROR ITMS -90207
- 中间容器 - JTabbedPane的用法的最简举例
- nodejs开发微信1——微信路由设置a(access_token和tickets)
- hdu3038 How Many Answers Are Wrong【基础种类并查集】
- C 其他一些
- C++ enum用法小技巧
- iOS中 UITableViewRowAction tableViewcell编辑状态下的功能 UI技术分享
- JDK动态代理简单使用(2)
- 你不可不知的Java引用类型之——SoftReference源码详解
- 问题: 揭秘Angualr2 书上问卷调查
- 佛祖保佑永无BUG代码注释
- 简介jsp
- pycharm和anaconda
- Python数据结构:栈 队列
热门文章
- JeePlus:代码生成器
- Real-Time Compressive Tracking,实时压缩感知跟踪算法解读
- 移动前端第二弹:善用meta
- JavaScript代码优化新工具UglifyJS
- 短链接及关键字过滤ac自动机设计思路
- bzoj 1619: [Usaco2008 Nov]Guarding the Farm 保卫牧场【bfs】
- iOS 关于文件操作 NSFileManager
- DFS BestCoder Round #49 ($) 1001 Untitled
- Hbase源码分析:RPC概况
- Spring.Net学习笔记(7)-事务