这篇是看了别人的报告写的,就当是屡屡思路好了.

题目大意。给定一个n阶矩阵(方阵),每一个元素中存在一个数字.任务就是求出一个最大的子矩阵使得矩阵元素之间的和是最大的.

n=100;

1.矩阵A[m][n]的和能够直接 sum+=A[i][j] ( i = 0 to n-1 j=0 to n-1); 还能够求出第i列的和p[i],再将所在列加起来,(当然行是同理的).

2.因此所选的矩阵的行k能够枚举(0<=k<=n-1),此时能够现将列加起来,然后找到这些列中连续最大和就可以.这就是选出的矩阵最大和.

3.在全部矩阵中选出最大和的一个。

/*Source Code
Problem: 1050       User:
Memory: 388K        Time: 32MS
Language: GCC       Result: AcceptedSource Code*/#include <stdio.h>int max(int a,int b){return a>b?

a:b; } int main(){ int i,j,k,n; int ans=-0xfffffff; int A[101][101]={0}; scanf("%d",&n); for(i=0;i<n;i++){ for(j=0;j<n;j++){ scanf("%d",&A[i][j]); } } for(i=0;i<n;i++){ for(j=0;j<n;j++){ int add[101]={0},d[101]={0}; for(k=0;k<n;k++){ int l; for(l=i;l<=j;l++){ add[k]+=A[l][k]; } } d[0]=add[0]; ans=max(ans,d[0]); for(k=0;k<n;k++){ d[k]=d[k-1]>0?d[k-1]+add[k]:add[k]; ans=max(ans,d[k]); } } } printf("%d\n",ans); return 0; }

转载于:https://www.cnblogs.com/yxwkf/p/5410217.html

poj1050最大子矩阵和相关推荐

  1. Bailian2766 最大子矩阵【最大子段和+DP】

    最大子矩阵 总时间限制: 1000ms 内存限制: 65536kB 描述 已知矩阵的大小定义为矩阵中所有元素的和.给定一个矩阵,你的任务是找到最大的非空(大小至少是1 * 1)子矩阵. 比如,如下4 ...

  2. 51Nod-1051 最大子矩阵和【最大子段和+DP】

    1051 最大子矩阵和 基准时间限制:2秒 空间限制:131072KB 分值:40难度:4级算法题 一个M*N的矩阵,找到此矩阵的一个子矩阵,并且这个子矩阵的元素的和是最大的,输出这个最大的值. 例如 ...

  3. 求一个矩阵的最大子矩阵

    #include <iostream> #include <string> #include <assert.h> #include <malloc.h> ...

  4. 最大子矩阵(降维处理)

    题目描述 已知矩阵的大小定义为矩阵中所有元素的和.给定一个矩阵,你的任务是找到最大的非空(大小至少是1 * 1)子矩阵. 比如,如下4 * 4的矩阵 0 -2 -7 0 9 2 -6 2 -4 1 - ...

  5. 带限制条件的最大子矩阵 - 牛客

    链接:https://www.nowcoder.com/acm/contest/131/B 来源:牛客网 题目描述 矩阵 M 包含 R 行 C 列,第 i 行第 j 列的值为 Mi,j. 请寻找一个子 ...

  6. 软件工程——求二维数组所有子矩阵的和的最大值

    题目:返回一个整数数组中最大子数组的和. 要求: 输入一个整形数组,数组里有正数也有负数. 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 求所有子数组的和的最大值.要求时间复杂度为 ...

  7. 子矩阵(暴搜(全排列)+DP)

    子矩阵(暴搜(全排列)+DP) 一.题目 子矩阵 时间限制: 1 Sec  内存限制: 128 MB 提交: 1  解决: 1 [提交][状态][讨论版] 题目描述 给出如下定义: 1. 子矩阵:从一 ...

  8. 【降维解法:最大字段和-最大子矩阵和-最终版最大子长方体和】【UVA10755】Garbage Heap...

    突然感觉刷完这一套专题后 码力有了质的飞跃,fighting 努力会有结果! 最大字段和是一个很经典的问题 O(n)算法 而对于最大子矩阵和 可以思考一个这样的想法 枚举上下边界i,j把i到j这一段的 ...

  9. LeetCode Maximal Square(最大子矩阵)

    问题:给出一个由0,1组成的二维数组,求由1组成的最大子矩阵 思路:第一种方式使用暴力法,在遍历二维数组时,如果当前元素是1,则以当前位置为起点,判断先增的一行,一列是否全是1,如果是,则将当前边长度 ...

最新文章

  1. 025_Excel知识汇总
  2. 配置用户通过Telnet登录设备的身份认证(AAA本地认证)
  3. Linux下磁盘读写优化的分析
  4. 又一款4800像素手机曝光:vivo V15 Pro
  5. 自己做的一个小程序 可采集、导出、模板、配置
  6. python爬虫赚钱的经历-十年真ㆍPython大佬用爬虫赚钱的自述!看完学到了!
  7. 三角形中惊现叛徒!自己胖的像个球,却能成就世界上最快的赛车引擎......
  8. 嵌入式linux调试技术
  9. php探针存在xss漏洞
  10. XenServer 6.5实战:Creating a Storage Repository (CIFS)
  11. webpack4打包vue前端多页面项目
  12. 医疗保健行业未来发展的5大趋势预测
  13. 计算机网络(第七版)谢希仁编著 前五章部分课后答案详解
  14. 错误:has been compiled by a more recent version of the Java Runtime (class file version 56.0)
  15. Java固定资产管理系统源码
  16. python 手机号码归属地 软件,Python查询手机号码归属地几种方法
  17. 大数运算(加减乘除)
  18. Win10 中U盘不识别的解决方法
  19. julia集 matlab代码,Mandelbrot集和Julia集的分形图之matlab实现.docx
  20. Method类及其用法

热门文章

  1. zedboard--zynq使用自带外设IP让ARM PS访问FPGA(八) 转载
  2. WPF之ComboBox的VisualTreeHelper
  3. Linux !的使用
  4. Java 集合 List Arrays.asList
  5. Web优化 --利用css sprites降低图片请求
  6. How Tomcat works — 一、怎样阅读源码
  7. LINQ系列:LINQ to XML操作
  8. ORA-01555 原因与解决
  9. oracle failover 区别,Oracle DG failover 实战
  10. leetcode474. 一和零(动态规划)