最大连通子数组

这次是求联通子数组的求和,我们想用图的某些算法,比如迪杰斯特拉等,但是遇到了困难。用BFS搜索能达到要求,但是还未能成功。

    那么我们这样想,先将每行的最大子数组之和,然后再将这些最大之和组成一个数组,在进行求和,这样就保证了,加入中间一行为负数,再进行筛选。增加了直接相加的正确率。

    实现代码:

#include <iostream>
#include <fstream>
using namespace std;
int Max(int Array[],int length) { int maxSumOfArray,maxSum; int first=0,last=1; maxSumOfArray=maxSum=Array[0]; //当我们加上一个正数时,和会增加;当我们加上一个负数时,和会减少。 //如果当前得到的和是个负数,那么这个和在接下来的累加中应该抛弃并重新清零,不然的话这个负数将会减少接下来的和。 for(int i=1;i<length;i++) { maxSumOfArray=max(maxSumOfArray+Array[i],Array[i]); //变量maxSumOfArray 为包含Array[i] 与Array[i] 取最大 maxSum=max(maxSum,maxSumOfArray); ////变量maxSum 为maxSum 与 maxSumOfArray 取最大  } cout<<"最大子数组和:"<<maxSum<<endl; return maxSum; } int main() { int a; int i=0,j=0; int b[10][10],c[10]; FILE * fp1 = fopen("E:\\input.txt", "r");//打开输入文件 if (fp1==NULL) {//若打开文件失败则退出 puts("不能打开文件!"); return 0; } int M,N; fscanf(fp1,"%d",&a); M=a; //行 cout<<"行数:"<<M<<endl; fscanf(fp1,"%d",&a); N=a; //列 cout<<"列数:"<<N<<endl; for (i=0;i<M;i++) { for(j=0;j<N;j++) { if(fscanf(fp1,"%d",&a)==1) { b[i][j]=a; cout<<b[i][j]<<" "; } } cout<<endl; } cout<<"文件已经读取到第 "<<ftell(fp1)<<" 个偏移字节"<<endl;//输出fp1指针当前位置相对于文件首的偏移字节数 fclose(fp1);//关闭输入文件 int thismax[10]; //存放数组每行的最大子数组 cout<<"每行的最大数组和:"<<endl; for(i=0;i<M;i++) { for(j=0;j<N;j++) { c[j]=b[i][j]; } thismax[i]=Max(c,N); } cout<<"每行的最大子数组之和再求和"<<endl; int sum=Max(thismax,M); //每行作为一个数组再求最大的子数组和 cout<<"最大联通子数组的和为:"<<sum<<endl; return 0; }

这种方法只能在某些情况下可以实现,更加完整的我们还在完善。

队友 于磊http://www.cnblogs.com/cnyulei/

转载于:https://www.cnblogs.com/L-Damon-v/p/5360829.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/396390.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

redis的zset的底层实现_Redis(三)--- Redis的五大数据类型的底层实现

1、简介Redis的五大数据类型也称五大数据对象&#xff1b;前面介绍过6大数据结构&#xff0c;Redis并没有直接使用这些结构来实现键值对数据库&#xff0c;而是使用这些结构构建了一个对象系统redisObject&#xff1b;这个对象系统包含了五大数据对象&#xff0c;字符串对象(st…

科学计算机简单编程_是“计算机科学”还是“编程”?

科学计算机简单编程by Sam Corcos由Sam Corcos 是“计算机科学”还是“编程”&#xff1f; (Is It “Computer Science” or “Programming”?) 教育政策白皮书(提示&#xff1a;它们不是同一个东西) (An education policy white paper (hint: they’re not the same thing))…

[Matlab] 画图命令

matlab画图命令&#xff0c;不定时更新以便查找 set(gcf, color, [1 1 1]);     % 使图背景为白色 alpha(0.4);           %设置平面透明度 plot(Circle1,Circle2,k--,linewidth,1.25);  % k--设置线型  ‘linewidth’,1.25  设置线宽度为1.25 %线型   …

django入门记录 2

1. 创建一个app&#xff0c; python manage.py startapp appname 2. 设计model&#xff0c;在appname/目录下编辑好model 3. 检测model的修改&#xff0c;python manage.py makemigrations appname 4. 自动执行数据库迁移&#xff0c;并同步管理数据库结构&#xff0c; python…

spark sql 数据类型转换_SparkSql 数据类型转换

1、SparkSql数据类型 1.1数字类型 ByteType:代表一个字节的整数。范围是-128到127 ShortType:代表两个字节的整数。范围是-32768到32767 IntegerType:代表4个字节的整数。范围是-2147483648到2147483647 LongType:代表8个字节的整数。范围是-9223372036854775808到92233720…

【Python】 list dict str

list & dict & str 这三种类型是python中最常用的几种数据类型。他们都是序列的一种 ■  序列通用操作 1. 分片 s[a:b] 返回序列s中从s[a]到s[b-1]的片段。注意s[0:0]是空集而不是s[0] s[a:b:c]  加入第三个参数以设置取样步长。可以设置成负数来从右向左取样 2. 加…

终端terminal的颜色配置

PS1 color 终端terminal的颜色配置 PS1"\[\e[92;1m\][\u\e[90;5m\e[25m\[\e[91;4m\]Atlas\e[24m\[\e[1m\]\[\e[92;1m\] \W ]\\$\[\e[0m\]" Set CodeDescriptionExamplePreview1Bold/Bright echo -e "Normal \e[1mBold" 2Dim echo -e "Normal \e[2mDi…

速度与激情的Webpack

Also published in my tech blog也发布在我的技术博客中 This is a guide that is meant to help you ease your development workflow and save your time by using a bunch of awesome tools that you’ve read about on the internet (does React Hot Loader ring any bells…

java nio socket长连接_nio实现Socket长连接和心跳

前段时间用bio方式&#xff0c;也就是传统io实现了socket的长连接和心跳&#xff0c;总觉着服务端开启多线程管理socket连接的方式过于消耗资源&#xff0c;数据并发的情况下可能会影响到性能&#xff0c;因此就尝试使用nio改进原来的代码。然而改进的过程却不像我起初设想的那…

unity让对象作为参数_C#+Unity学习笔记:类与对象

参考文献蜜酒厅通讯社 游戏部 石中居士对象(object)&#xff1a;有状态、行为和身份的东西。状态(state)&#xff1a;表示物体特征的信息&#xff0c;可以用来跟踪对象的状态。属性(properties)&#xff1a;因为编程人员需要把控对象的状态&#xff0c;所以要对其进行访问。通过…

Tomcat 报 The valid characters are defined in RFC 7230 and RFC 3986

问题 24-Mar-2017 23:43:21.300 INFO [http-apr-8001-exec-77] org.apache.coyote.http11.AbstractHttp11Processor.process Error parsing HTTP request header Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level. java.lang.IllegalAr…

Linux Kernel Oops异常分析

0&#xff0e;linux内核异常常用分析方法 异常地址是否在0附近&#xff0c;确认是否是空指针解引用问题异常地址是否在iomem映射区&#xff0c;确认是否是设备访问总线异常问题&#xff0c;如PCI异常导致的地址访问异常异常地址是否在stack附近&#xff0c;如果相邻&#xff0c…

Centos7.5 VMtools的安装与卸载

一、安装1、自带tools&#xff1a; 选择VMware工具栏 > 虚拟机 > 安装VMtools2、挂载光驱3、tar -zxvf VMwareTools-10.3.2-9925305.tar.gz&#xff08;这里以tar文件为例&#xff09;4、切换到目标目录&#xff0c;执行&#xff08;一定要使用root权限执行&#xff09;…

gitter 卸载_最佳Gitter渠道:开发人员工具

gitter 卸载by Gitter通过吉特 最佳Gitter渠道&#xff1a;开发人员工具 (Best Gitter channels: Developer Tools) Developer tools have become essential to any kind of serious software development, also in the open source setting. They can ease the daily develop…

java 过滤脚本_我写的得到天气的Java代码,其中有过滤脚本和过滤HTMLtag的函数。...

public class WeatherFilter{private String html;private String target"http://weather.news.sohu.com/query.php?city北京";public WeatherFilter()throws Exception{this(null);}public WeatherFilter(String targetIn)throws Exception{if(targetIn!null)this.…

【懒癌发作】收集各种懒癌发作时用程序写作业的程序

updata:20170621 好的&#xff0c;已经是准高一了&#xff0c;现在看起来太蠢了。。。 -------------------------------------------------------------------------------------- 要真正的运用&#xff0c;程序一定是要来解决实际问题的——比如作业&#xff08;懒就直说&…

50欧姆线设计 高频pcb_硬件设计基础100问(三)

硬件基础知识问答今天依旧是节前知识储备哦&#xff0c;jacky大神整理的硬件基础知识很细致&#xff0c;第三弹学起来&#xff01;01 1、晶体管基本放大电路有共射、共集、共基三种接法&#xff0c;请简述这三种基本放大电路的特点。共射&#xff1a;共射放大电路具有放大电流和…

如何正确实现 Java 中的 HashCode

相等 和 Hash Code 从一般角度来看&#xff0c;Equality 是不错的&#xff0c;但是 hash code 更则具技巧性。如果我们在 hash code上多下点功夫&#xff0c;我们就能了解到 hash code 就是用在细微处去提升性能的。 大部分的数据结构使用equals去检查是否他们包含一个元素。例…

一亿小目标成就_成就卓越的一种方式:自我选择

一亿小目标成就by Prosper Otemuyiwa通过Prosper Otemuyiwa 成就卓越的一种方式&#xff1a;自我选择 (One way to Greatness: Pick Yourself) I’ve heard many people say this: “I want to be great”, but most people only just have wild thoughts & imaginations …

java操作文件爱女_Java的IO操作---File类

目标1)掌握File类作用2)可以使用file类中方法对文件进行读写操作。File类唯一与文件有关的类。使用file类可进行创建或删除操作&#xff0c;要想使用File类&#xff0c;首先观察File类的构造方法。public File(String pathname);实例化File类的时候&#xff0c;必须设置好路径。…