zoukankan      html  css  js  c++  java
  • poj 1050 最大子矩阵

    a11   a12   a13   a14   a15

    a21   a22   a23   a24   a25

    a31   a32   a33   a34   a35

    a41   a42   a43   a44   a45

    a51   a52   a53   a54   a55

    枚举矩阵每一列的区间,当成最长子串的dp方式就能过了

    你把a21  a31  a41 看成一个元素,值是这三个元素的和,后面的列同理

    https://www.cnblogs.com/GodA/p/5237061.html

    这个人讲的非常好

    #include<iostream>
    #include <cstdio>
    using namespace std;
    const int maxn = 105;
    int arr[maxn][maxn];
    int sum[maxn][maxn];
    int main()
    {
        int n;
        scanf("%d",&n);
        for(int i = 1; i <= n; ++i )
        {
            for(int j = 1; j <= n; ++j)
            {
                scanf("%d",&arr[i][j]);
            }
        }
        for(int i = 1; i <= n; ++i)
        {
            for(int j = 1; j <= n; ++j)
            {
                sum[i][j] = sum[i][j-1] + arr[j][i];
            }
        }
        /*for(int i = 1; i <= n; ++i)
        {
            for(int j = 1; j <= n; ++j)
            {
                printf("%d
    ",sum[i][j]);
            }
        }*/
        int maix = 0;
        for(int i = 1; i <= n; ++i)
        {
            for(int j = i+1; j <= n; ++j)
            {
                int b = 0;
                for(int k = 1; k <= n; ++k )
                {
                    if(b > 0)
                    {
                        b += sum[k][j] - sum[k][i];
                    }
                    else
                    {
                        b = sum[k][j] - sum[k][i];
                    }
                    if(b > maix)
                        maix = b;
                }
            }
        }
        printf("%d
    ",maix);
    }
  • 相关阅读:
    苹果常识
    Xcode相关路径
    iOS10 Xcode8问题汇总
    摇一摇
    手机端在线预览文件
    生成纯色色块
    django--没有整理,笔记
    httprunnermanager环境搭建 -----转
    httprunner---->最最基础小白笔记
    Oracle 多表联合删除?--转
  • 原文地址:https://www.cnblogs.com/mltang/p/9892353.html
Copyright © 2011-2022 走看看