51nod1051_DP求最大子矩阵
来源:互联网 发布:手机数据恢复免费软件 编辑:程序博客网 时间:2024/06/10 20:54
题目链接:最大子矩阵和
题目描述当所有数都为负数时输出0,意味着除了都为0的情况,总存在一个数>=0,即结果一定>=0,所以当中间结果tmp<0时,后面加它都必然使得结果更小,意味着上面的段不用,tmp置为0,从下一段重新开始寻找可能的最大值。转化为最大子段和求解。
#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<queue>#include<stack>#include<vector>#include<cmath>#include<map>#include<set>#include<cstdlib>#define mem(a,b) memset(a,b,sizeof(a))typedef long long ll;using namespace std;const int maxn = 510;int x,y;ll dp[maxn][maxn],num;int main(){ ll ans; while(scanf("%d%d",&x,&y) != EOF){ mem(dp,0); for(int i = 1; i <= y; i++){ for(int j = 1; j <= x; j++){ scanf("%lld",&num); dp[i][j] = dp[i-1][j] + num; } } ans = 0; ll tmp; for(int i = 1; i <= y; i++){ for(int j = i; j <= y; j++){ tmp = 0; for(int k = 1; k <= x; k++){ tmp += dp[j][k] - dp[i-1][k]; if(tmp < 0) tmp = 0; if(tmp > ans) ans = tmp; } } } printf("%lld\n",ans); } return 0;}
阅读全文
0 0
- 51nod1051_DP求最大子矩阵
- hdu1081求最大子矩阵
- 求最大和子矩阵
- 求最大子矩阵和
- hdu1506求最大子矩阵
- 求二维矩阵的最大子矩阵
- 求二维矩阵最大子矩阵和
- 求一个矩阵的最大子矩阵
- 求子矩阵元素最大和
- DP求一类最大子矩阵
- PKU1050_求最大子矩阵和值
- HDU1081 && POJ1050(求最大子矩阵和)
- maxsum(dp求最大子矩阵)
- HDU 1506 dp求最大子矩阵 *
- HDU 1505 求最大子矩阵(二维)
- 求最大子矩阵的大小 + 栈
- 求子矩阵的最大和
- 求最大子矩阵的和
- oracle 常用系统表
- 线性表——顺序表——时间复杂度计算2
- python 读取文件
- 线程的wait和notify方法示例(生产者和消费者)
- Jenkins~通过WebDeploy实现自动部署
- 51nod1051_DP求最大子矩阵
- Mac中安装与配置Mysql+Navicat中文乱码问题
- 最全Pycharm教程(26)——Pycharm搜索导航之文件名、符号名搜索
- 51nod 1557 两个集合(二分)
- 服务器之间使用ssh免密登录
- 在树莓派上通过usb_cam将图像传输到笔记本电脑
- css3选择器
- 1-7:2D转换、动画
- token和sign