HDU-1081 To The Max 二维最大子序列和
来源:互联网 发布:我是歌手 知乎 编辑:程序博客网 时间:2024/06/05 05:41
http://acm.hdu.edu.cn/showproblem.php?pid=1081
把行压缩成一行 再一这行求最大子序列和
这样就把二维转化为一维
#include <stdio.h>#include <string.h>#include <queue>using namespace std;const int maxn = 105;int n;int maxs;int map[maxn][maxn],dp[maxn]; //map存矩阵 dp为第i行之k行的数据压缩成一行的值int getDP(){int sum = 0,max = 0;for( int i = 1; i <= n; i ++ ){sum += dp[i];if( sum < 0 ){sum = 0;}max = max > sum ? max:sum;}return max;}int main(){ //freopen( "data.in","r",stdin );int sum;while( scanf("%d",&n) != EOF ) {for( int i = 1; i <= n; i ++ ){for( int j = 1; j <= n; j ++ ){scanf("%d",&map[i][j]);}}maxs = 0;for( int i = 1; i <= n; i ++ ) //第i行作为压缩的第一行{memset( dp,0,sizeof(dp) );for( int j = i; j <= n; j ++ ) //压缩第j行数据{for( int k = 1; k <= n; k ++ ) //压缩{dp[k] += map[j][k];}sum = getDP();//求一维最大子序列和maxs = maxs > sum ? maxs:sum;}}printf("%d\n",maxs);}return 0;}
- HDU-1081 To The Max 二维最大子序列和
- POJ-1050-To the Max-二维最大子序列和
- hdu 1081 To The Max(最大连续子序列推广到二维)
- hdu 1081To The Max(二维最大连续子串和)
- HDU-1081-To The Max(二维最大子段和)
- hdu 1081 To The Max(二维最大连续和)
- HDU 1003 Max Sum && HDU 1081 To The Max 一维子串最大和& 二维矩阵最大和
- hdu 1081 To The Max最大连续子串和
- hdu 1081、poj1050 To The Max 最大子矩阵和
- HDU 1081 To The Max(最大子矩阵和)
- HDU 1081 To The Max(最大子矩阵和)
- hdu 1081 To The Max(子矩阵最大和)
- hdu 1081 To The Max(最大子矩阵和)
- hdu 1081 To The Max 【最大子矩阵和】
- hdu 1081 To The Max(最大子矩阵和,dp)
- hdu-1081 To The Max (最大子矩阵和)
- HDU 1081 To The Max(dp最大子矩阵和)
- HDU 1081 To The Max(dp最大子矩阵和)
- IOS内存管理总结
- 关于“ARC forbids explicit message send of release”错误
- 企业级敏捷转型系列专题之四 —— 企业转型
- 探究string类
- JDK5.0环境下配置PKCS#11
- HDU-1081 To The Max 二维最大子序列和
- 项目总结
- Python Tips, Tricks, and Idioms and Learn Python Through Public Data Hacking
- stl之map erase方法的正确使用
- 远程桌面教程及指定主机远程连接方法
- 求解器Z3(未完,更新中)
- android 调用系统图库查看指定路径的图片
- C++中的单例模式
- Smarty入门学习