• CODEVS——T 3736 【HR】万花丛中2


    http://codevs.cn/problem/3736/

     时间限制: 1 s
     空间限制: 128000 KB
     题目等级 : 黄金 Gold
     
     
     
    题目描述 Description

       HR神犇在成功攻略ZX后,花心的他举办了一届选(yu)美(yue)大赛。

       由于HR神犇有重度不规则形体恐惧症,所以他要求选美的女孩纸要站成一个正方形。因为HR神犇的眼光是非常之高的,所以他要求选出来的女孩美貌值总和最大,由于HR神犇的精力非常多,所以选出来的女孩数量没有限制。当然,一些女孩纸比较丑,美貌值可能为负数。而且,HR神犇的重度不规则形体恐惧症使他要求选出来的女孩纸形成一个矩形(不是正方形)(实心的)。

       HR神犇决定,只要你成功帮他找出这个矩形,他就给你10000000000 mod 10元。

    输入描述 Input Description

    第一行一个整数n,表示正方形的边长。

    接下来n行,每行n个整数,表示每个女孩的美貌值。

    输出描述 Output Description

    输出只有一个整数,表示最大的美貌值总和。

    样例输入 Sample Input

    4

    0 -2 -7 0

    9 2 -6 2

    -4 1 -4 1

    -1 8 0 -2

    样例输出 Sample Output

    15

    数据范围及提示 Data Size & Hint

    对于30%的数据,1<=n<=10,美貌值<=100

    对于50%的数据,1<=n<=50,美貌值<=104

    对于100%的数据,1<=n<=200,美貌值不会超过int64的存储范围

    处理每列的前缀和,枚举一个行的上边界,一个下边界,

    枚举每列,通过更新最大字段和得到最大矩阵和

     1 #include <cstdio>
     2 
     3 inline void read(long long &x)
     4 {
     5     x=0; register char ch=getchar(); register bool __=0; 
     6     for(; ch>'9'||ch<'0'; ch=getchar()) if(ch=='-') __=1;
     7     for(; ch>='0'&&ch<='9'; ch=getchar()) x=x*10+ch-'0';
     8     x=__?((~x)+1):x;
     9 }
    10 
    11 const int INF(256);
    12 const int N(305);
    13 long long n,m,val[N][N],tot,ans;
    14 
    15 int Presist()
    16 {
    17     read(n);
    18     for(int i=1; i<=n; ++i)
    19       for(int j=1; j<=n; ++j)
    20       {
    21           read(val[i][j]);
    22 //          if(!val[i][j]) val[i][j]=-INF;
    23           val[i][j]+=val[i-1][j];
    24       }
    25     for(int top=0; top<n; ++top)
    26         for(int i=top+1; i<=n; ++i)
    27         {
    28             tot=0;
    29             for(int j=1; j<=n; ++j)
    30             {
    31                 if(tot<0) tot=val[i][j]-val[top][j];
    32                 else tot+=val[i][j]-val[top][j];
    33                 if(tot>ans) ans=tot;
    34             }
    35         }
    36     printf("%lld
    ",ans);
    37     return 0;
    38 }
    39 
    40 int Aptal=Presist();
    41 int main(int argc,char*argv[]){;}
    ——每当你想要放弃的时候,就想想是为了什么才一路坚持到现在。
  • 相关阅读:
    变更管理
    2020软件工程个人作业06——软件工程实践总结作业
    鸽子开发组---冲刺第七天
    冲刺第六天
    鸽子开发组---冲刺第五天
    鸽子开发组--冲刺第四天
    鸽子开发组--冲刺第三天
    鸽子开发组--冲刺第二天
    冲刺规划
    冲刺第一天
  • 原文地址:https://www.cnblogs.com/Shy-key/p/7608340.html
Copyright © 2020-2023  润新知