zoukankan      html  css  js  c++  java
  • hdu--1081--最大子矩阵和

    一般 做这题之前应该先去做下 hdu的1003----这是 一维上的 最大连续和

    矩阵么 就是二维了嘛~

    我一开始 走进了个错误的方向... 我去计算了第X行前Y个数的和...这是不对的

    我们这里也同样用到了 前缀和的思想 但应该去计算前X个行第Y个数的和

    这样 假如 有个matrix[j][y] - matrix[i-1][y]就是表示 第I行到第J行Y列上的和

    如果 这个y我们用 0 ->n去遍历它 并且可以通过sum+=matrix[a][b] 来判断到第某行可以使和尽量最大

    一共是需要O(n^3)的时间复杂度 去遍历整个矩阵 判断每个子矩阵的和 来求得最大的值

    似乎没有更优化的了...   要是可以变成 一维的复杂度 那太好了

        touch me

     1 #include <iostream>
     2 using namespace std;
     3 
     4 const int size = 110;
     5 int matrix[size][size];
     6 
     7 int main()
     8 {
     9     int n , i , j , k;
    10     int sum , mmax , temp , num;
    11     while( cin>>n )
    12     {
    13         mmax = -520;
    14         for( i = 0 ; i<n ; i++ )
    15         {
    16             for( j = 0 ; j<n ; j++ )
    17             {
    18                 cin >> num;
    19                 matrix[i][j] = i>0 ? matrix[i-1][j] + num : num;
    20             }
    21         }
    22         for( i = 0 ; i<n ; i++ )    
    23         {
    24             for( j = i ; j<n ; j++ )
    25             {
    26                 sum = 0;
    27                 for( k = 0 ; k<n ; k++ )
    28                 {
    29                     if(i>0) 
    30                         temp = matrix[j][k] - matrix[i-1][k]; 
    31                     else
    32                         temp = matrix[j][k];
    33                     sum += temp;
    34                     if( sum>mmax )
    35                         mmax = sum;
    36                     if( sum<0 )
    37                         sum = 0;        
    38                 }
    39             }
    40         }    
    41         cout << mmax << endl;            
    42     }
    43     return 0;
    44 }
    45  
    View Code
    just follow your heart
  • 相关阅读:
    抽象工厂模式
    工厂模式
    简单工厂模式
    查询功能测试的测试点汇总
    网卡设置 网卡的高级设置说明
    30道python真实面试题(搜集到的,看看其实都是基础)
    测试用例设计方法--正交试验法
    小游戏:乌龟吃鱼
    Tkinter 的三大布局管理器 pack、grid 和 place用法汇总
    Python中输出字体的颜色设置
  • 原文地址:https://www.cnblogs.com/radical/p/3847509.html
Copyright © 2011-2022 走看看