hdu1081-To The Max
2013-06-09 21:16
232 查看
http://acm.hdu.edu.cn/showproblem.php?pid=1081
DP,最大矩阵和,首先将横坐标的数值,分别求和存储在二维数组中,然后使用三个for循环,第一二层分别表示第I 横层 ,和第j 横层,然后做差,就求出了纵坐标的和,当sum〉0就由k 向右累加;
DP,最大矩阵和,首先将横坐标的数值,分别求和存储在二维数组中,然后使用三个for循环,第一二层分别表示第I 横层 ,和第j 横层,然后做差,就求出了纵坐标的和,当sum〉0就由k 向右累加;
#include<iostream> #include<cstdio> #include<cstring> using namespace std ; int dp[ 150 ][ 150 ] ; int main() { int n ; int i , j , k , t , maxn ; while( ~scanf( "%d" , &n ) ) { memset( dp , 0 , sizeof( dp ) ); for( i = 0 ; i < n ; ++i ) for( j = 0 ; j < n ; ++j ) { scanf( "%d" , &t ) ; dp[ i ][ j ] = dp[ i - 1 ][ j ] + t ; } maxn = -1 ; for( i = 0 ; i < n ; ++i ) for( j = i ; j < n ; ++j ) { int sum = 0 ; for( k = 0 ; k < n ; ++k ) { t = dp[ j ][ k ] - dp[ i - 1 ][ k ] ; sum += t ; if( sum < 0 ) sum = 0 ; if ( sum > maxn ) maxn = sum ; } } printf( "%d\n" , maxn ) ; } return 0 ; }
相关文章推荐
- 【 HDU1081 】 To The Max (最大子矩阵和)
- hdu1081 To The Max (最大子矩阵和)
- To the max(hdu1081)
- hdu1081-To The Max
- hdu1081 To The Max_最大子矩阵求和问题
- HDU1081 To The Max (DP)
- hdu1081-To The Max
- hdu1081 To the Max
- hdu1081 To The Max 【动态规划】【最大子矩阵】
- hdu1081 To The Max
- hdu1081 ||poj 1050 To the Max
- hdu1081 To The Max 「dp」
- hdu1081 To The Max
- UVALive2288 POJ1050 HDU1081 ZOJ1074 To The Max【最大子段和+DP】
- 经典动态规划——HDU1081 To The Max 最大子矩阵问题
- POJ1050&HDU1081-To the Max
- hdu1081 To The Max
- hdu1081 To The Max(动态规划-最大子矩阵)
- hdu1081 To The Max (dp)
- hdu1081 To The Max(动态规划-最大子矩阵)