hdu 1081 To The Max最大连续子串和
来源:互联网 发布:神奇表盘 网络错误 编辑:程序博客网 时间:2024/05/18 00:19
/* 一维的情况很简单,如何把一维的情况转化为二维情况呢?例如,对于本题的测试数据: 0 -2 -7 0 9 2 -6 2-4 1 -4 1-1 8 0 -2我们可以每次任选几行,压缩成一行,这样就转化为了一维情况。例如,我们求1-2行中的最大子矩阵:即矩阵高为2(1-2行),宽为4的矩阵,可以先把1-2行相加,得到9 0 -13 2,再求这个单行的最大子段,由此就可以求得1-2行的最大子矩阵。*/#include<stdio.h>#include<string.h>int map[110][110],b[110];int dp(int n){int c[110];c[1]=b[1];int i;for(i=2;i<=n;i++)if(c[i-1]>=0)c[i]=c[i-1]+b[i];else c[i]=b[i];int max=c[1];for(i=2;i<=n;i++)if(c[i]>max)max=c[i];return max;}int main(){int n,i,j,k,max,maxx;while(scanf("%d",&n)!=-1){max=-999999999;for(i=1;i<=n;i++)for(j=1;j<=n;j++)scanf("%d",&map[i][j]);for(i=1;i<=n;i++){memset(b,0,sizeof(b));for(j=i;j<=n;j++){for(k=1;k<=n;k++)b[k]+=map[j][k];maxx=dp(n);//原先把这两行放到j循环外了max=max>maxx?max:maxx;}}printf("%d\n",max);}return 0;}
- hdu 1081 To The Max最大连续子串和
- hdu 1081To The Max(二维最大连续子串和)
- 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 【最大子矩阵和】
- hdu 1081 To The Max(最大子矩阵和,dp)
- hdu-1081 To The Max (最大子矩阵和)
- HDU 1081 To The Max(dp最大子矩阵和)
- HDU 1081 To The Max(dp最大子矩阵和)
- HDU 1081 To The Max 最大子矩阵和 .
- hdu 1081 To The Max(最大连续子序列推广到二维)
- hdu 1003 Max Sum 最大连续子串和
- Struts2的工作机制及分析(转)
- 解决PostMessage发送字符串造成数据错乱问题
- USACO 1.1 Greedy Gift Givers
- CMarkup概述
- 浅谈恶意代码的研究分析
- hdu 1081 To The Max最大连续子串和
- P4想格式化的时候只有fat32
- C++断点调试方法
- 模拟器不能拨打电话 Android.process.acore has stopped unexpectedly
- uninstall oracle 11g in win 7
- Filter的注册与调试
- 一个简单的“灰色调”登陆界面
- C# WinForm控件、自定义控件整理(大全)
- 读点CMMI (3)