【简单DP】POJ 1050 最大子矩阵
来源:互联网 发布:mysql slave status 编辑:程序博客网 时间:2024/05/01 19:49
如果暴力做,要枚举每个子矩阵的一条对角线上的两个点,几乎有n^2 * n^2的复杂度。如果把行数变为1,那就是最大子段和的问题,所以当把几行都加起来成一行,再求最大子段和,就可以知道这几行内的最优解……
#include <cstdio>#include <iostream>using namespace std;#define maxn 110int a[maxn][maxn],tmp[maxn],n;int max(int x,int y){return x>y?x:y;}int getMax() //求最大子段和{ int ans,pre; ans=pre=0; for(int i=0;i<n;i++) { if(pre<=0) pre=tmp[i]; else pre+=tmp[i]; ans=max(ans,pre); } return ans;}int main(){ while(cin>>n) { for(int i=0;i<n;i++) for(int j=0;j<n;j++) cin>>a[i][j]; int ans=0; for(int i=0;i<n;i++) { memset(tmp,0,sizeof(tmp)); for(int j=i;j<n;j++) { for(int k=0;k<n;k++) tmp[k]+=a[j][k]; //此处在枚举列,进行行数的叠加 ans=max(ans,getMax()); } } cout<<ans<<endl; } return 0;}
0 0
- 【简单DP】POJ 1050 最大子矩阵
- poj 1050 【最大子矩阵和DP】
- poj 1050 求矩阵最大的子矩阵和 DP
- POJ 1050 To the Max 最大子矩阵和 简单dp
- 最大子矩阵和问题 DP poj 1050
- Poj 1050 To the Max (最大子矩阵 DP)
- [POJ 1050] To the Max DP+最大子矩阵和
- poj 1050 To the Max dp 最大子矩阵
- POJ 1050 最大子矩阵
- poj 1050最大子矩阵
- POJ 1050 To the Max(dp 最大子矩阵和/最大子段和问题)
- 最大子矩阵 (DP)
- 最大子矩阵 DP
- poj 3494 dp(最大全1子矩阵)
- POJ 1050 最大子矩阵和
- pku poj 1050 最大子矩阵问题
- POJ-1050 最大子矩阵和
- POJ 1050 最大连续子矩阵和
- 22.leetcode Generate Parentheses(medium)[函数递归遍历]
- Linux安装php
- 关机重启命令
- Serializable和Parcelable在Android中传递值对象时的使用粗略讲解
- AS的中文乱码出现情况及解决方式
- 【简单DP】POJ 1050 最大子矩阵
- 跨平台开发框架Ionic学习之路------1
- springMVC项目,测试controller 方法的 jsp
- ngnix支持thinkphp
- linux shell 字符串操作(长度,查找,替换)详解
- 使用gradle下载依赖包
- 通过adb命令安装apk到android手机
- 微信都在用的移动敏捷测试方法和工具|视频+PPT
- HDU1018——Big Number