poj1050最大子矩阵和

poj1050最大子矩阵和

大家好,又见面了,我是全栈君。

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

题目大意。给定一个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: Accepted

Source 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://javaforall.net/115265.html原文链接:https://javaforall.net

(0)
上一篇 2022年2月6日 下午9:00
下一篇 2022年2月6日 下午9:00


相关推荐

  • 行式数据库与列式数据库

    行式数据库与列式数据库开发用了很久的 Vertica 一直都知道它是 列式数据库

    2026年3月18日
    2
  • python读取txt文件的行数

    python读取txt文件的行数python读取txt文件的行数python读取txt文件的行数python读取txt文件的行数count=len(open(filepath,’rU’).readlines())

    2022年5月23日
    58
  • 礼物linux项目,好玩的Linux命令,将礼品包在盒子中

    礼物linux项目,好玩的Linux命令,将礼品包在盒子中原标题 好玩的 Linux 命令 将礼品包在盒子中来自 Linux 迷链接 https www linuxmi com linux boxes html 春节 圣诞 元旦 每个节日 每个 Linux 终端用户都应该得到一份小礼物 不管你是庆祝春节 还是另一个节日 我收集到的几个 Linux 命令行工具 供您欣赏并与朋友共享 让我们一起来找点乐子 给这个寒冷的冬天增添点快乐吧 很有可能 你以前听说过一些 但是

    2026年3月16日
    1
  • 快速排序(Python实现)

    一、算法介绍快速排序是经常考查到的排序算法,这里对快排算法做一下总结。快速排序是“交换”类的排序,它通过多次划分操作实现排序!以升序为例,其执行流程可以概括为:每一趟排序选择当前所有子序列的一个关键字(通常是第一个)作为枢轴量,将子序列中比枢轴量小的移到枢轴前边,比枢轴大的移到枢轴后边,具体过程是一个交替扫描和交换的过程。当本趟所有子序列都被枢轴以上述规则划分完毕后会得到新的一组更短的子序列,…

    2022年4月6日
    54
  • JodaTime时间处理工具使用详解

    JodaTime时间处理工具使用详解工作中经常用到java日期类型Date、Calendar或SimpleDateFormat,但是这些日期工具类要么提供了过期的方法(Date),要么就是功能不够强大。最近突然用到了Joda-Time日期工具,发现非常好用,就撰写此文,以便学习和交流。

    2022年6月17日
    30
  • java编写一个学生类和教师类_JAVA:1、编写一个学生类,类名为Student,包含如下成员:…

    java编写一个学生类和教师类_JAVA:1、编写一个学生类,类名为Student,包含如下成员:…1、编写一个学生类,类名为Student,包含如下成员:成员变量:1)变量名:name;类型:String;访问权限:private2)变量名:ID;类型:String;访问权限:private3)变量名:…1、编写一个学生类,类名为Student,包含如下成员:成员变量:1)变量名:name;类型:String;访问权限:private2)变量名:ID;类型:String;访问权限:pr…

    2022年7月8日
    165

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号