最大连续子序列的和

求解最大连续子序列的和以及最大连续子序列 求解最大连续子序列的和以及最大连续子序列——java实现 阅读详情

【培训试题】最大连续子序列的和

 

Time Limit:10000MS  Memory Limit:65536K
Total Submit:877 Accepted:427
Case Time Limit:1000MS

Description

  求最大连续子序列的和

Input

  第一行输入n(n<=100000),第二行为n个以空格分开的整数;

Output

  该序列中最大的连续子序列的和(不超过longint)

Sample Input

  6
  1 2 -5 6 7 8

Sample Output

  21


【解析】

这题可以说非常基础了,思路是这样。
设f[i]表示到i为止的最大子序列和,那么

if f[i-1]+a[i]>0

                   f[i]:=f[i-1]+a[i]

f[i]的初始值为0。
注意的地方是,本题的数据来看,还要求序列非空。意思就是如果是一个全部为负数的序列,不能输出0,要找到原序列中最大的那个负数输出。

代码如下。

var
        f,a:array[0..100000] of longint;
        n,i,k,max:longint;

begin
        //assign(input,'1079.in');reset(input);
        //assign(output,'ans.out');rewrite(output);
        readln(n);
        fillchar(f,sizeof(f),0);
        for i:=1 to n do
                read(a[i]);
        for i:=1 to n do
                if f[i-1]+a[i]>0 then
                        f[i]:=f[i-1]+a[i]
                else
                        f[i]:=0;
        max:=f[1];
        for i:=1 to n do
                if f[i]>max then max:=f[i];
        if max=0 then
                begin
                        max:=a[1];
                        for i:=1 to n do
                                if a[i]>max then max:=a[i];
                end;
        writeln(max);
        //close(input);close(output);
end.


C++ 关于最大连续子序列(和最大)问题 /* 江伟浚 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 17458 Accepted Submission(s): 7701 Problem Description 给定K个整数的序列{ N1, N2, ..., NK 阅读详情

相关推荐

三种解法求:最大连续子序列的和

示例: 输入: [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释:连续子数组[4,-1,2,1] 的和最大,为6。 一、贪心思想 假设a[l]...a[r]的和为 sum 如果 sum > 0,则说明 sum 对结果有增益效果,则 sum 保留 如果 sum <0,则说明 sum 对结果无增益效果,需要舍弃 明白了这个道理,那么对于第i个数来说,我们查看他之前的sum,如果sum<0,那么当前的最大连续子序列和就是它本身(舍弃前面的);如果sum&gt...

马小超 1万+

硬件工程师的蜗牛成长路

1、《模拟电路课程》R/L/C/继电器/光耦/二极管/三极管/MOS管磁珠/ESD/TVS/肖特基二极管/稳压二极管/保险丝/GDT/TSS/光耦/MOS/运放/BJT比较器/面板开关/按键开关/拨码开关/BUCK/LDO/电源防护器件LM5069单输出PLL/多路输出PLL/单端晶振/差分晶振/晶体(这方面不熟悉,待以后补充)1)速度传感器2)温度传感器3)倾斜角传感器4)火焰传感器5)红外传感器6)呼吸心跳采集chaunganqi1)数字隔离 电平转换芯片/磁隔离/专用隔离芯片。

caozhaokun的博客 1979

最大连续子序列和

什么是最大连续子序列和问题?问题描述:给定一个序列(整数或浮点数),求出其中连续的子序列和最大的那一个。例:序列{-10 1 2 3 4 -5 -23 3 7 -21},其最大的连续子序列为{1 2 3 4}或{3 7},最大和为10.方法一:暴力求解最最普通的方法,效率十分低,一般不会用到,这里简单介绍。直接两个for循环枚举子序列的首尾,再来一个for循环计算首尾之间的序列和,计算所有的序列和...

bxg1065283526的博客 483

手把手复现金蝶云星空V8.1文件上传漏洞(附完整POC与修复方案)

本文深度解析金蝶云星空V8.1文件上传漏洞,提供详细的漏洞复现步骤与完整POC,涵盖技术原理、测试环境搭建及验证流程。同时给出多维防护方案,包括官方补丁部署、临时缓解措施和长期安全加固建议,帮助企业有效防范任意文件上传风险。

weixin_30505225的博客 182

三菱CNC数据采集实战:从SDK安装到C#代码调试全流程(附完整资源包)

本文为C#开发者提供了三菱CNC数据采集的完整实战指南。详细介绍了从获取并安装核心A2协议SDK、配置Visual Studio开发环境,到理解COM接口文档、封装C#通信类,并构建具备多设备连接与定时采集功能的WinForms应用程序的全流程。文章重点分享了网络调试、异常处理及性能优化等关键实战经验,帮助开发者高效打通工业自动化数据采集链路。

oauth7security的博客 707

算法复习------求数组的最大子序列

问题描述: 一个数组有 N 个元素,求连续子数组的最大和。 例如:[-1,2,1],和最大的连续子数组为[2,1],其和为 3  输入描述: 输入为两行。 第一行一个整数n(1 <= n <= 100000),表示一共有n个元素 第二行为n个数,即每个元素,每个整数都在32位int范围内。以空格分隔。 输出描述: 所有连续子数组中和最大的值。 输入例子: 3 -1

夕夕如盼的博客 956

第1章第11节:创建可容纳多行滚动文字的输入框TextEditor [SwiftUI快速入门到实战]

TextField可以让用户输入单行的文字内容,若想输入多行的文字内容,可以使用能够容纳多行滚动文字的 TextEditor。 定义一个字符串属性,用来存储用户输入的文字内容。接着定义一个布尔属性,用来标识是否弹出警告窗口,以显示用户输入的内容。 TextEditor是由UIKit中的UITextView演变而来,因此可以在init方法中,通过UITextView修改TextEditor的外观属性。 添加一个VStack视图,作为子视图的容器。 创建一个TextEditor,Te..

互动教程网[www.hdjc8.com] 832

【2019-6-24】最大连续子序列和

最大连续子序列和问题,本学期在算法课中已经学过。刚开始总只得了50分,查看输入数据发现n已经超过了100000,后将数组大小改为1000000没问题。此外,刚开始使用cin输入超时,改为scanf后通过。 题目描述 给定一个长度为n的序列,求该序列的最大的连续子序列和。 输入 第一行一个整数n。 第2行n个整数,表示该序列。 输出 一个整数,表示该序列的最大连续子序列和。 样例输入 10 2 5 ...

int 0x20的博客 329

R语言机器学习算法实战系列(十五)随机森林生存预后模型+SHAP值 (Random Survival Forest + SHAP)

本教程运用随机森林生存分析筛选与患者生存状态显著相关特征。该方法借随机森林这一强大机器学习算法,构建多棵决策树并集成结果,以提高生存分析准确性,识别关键生物标志物。接着,利用选定特征构建风险得分,将多个特征转化为单一数值,量化患者风险水平。之后,依据风险得分将患者分为高、低风险亚型,为临床治疗提供个性化指导。最后,通过分析时间依赖的 ROC 曲线评估模型长期预测能力。此曲线计算不同阈值下的真正例率与假正例率,在多个时间点评估,全面展现模型长期稳定性与准确性。。并且增加了SHAP值评估特征重要性

专注生信领域 2623

YOLOv11涨点改进 | 全网独家创新,损失函数改进篇 | TGRS 2025 | 引入AdaFocalLoss损失函数,改进小目标检测,自适应聚焦小目标与样本分布不平衡,提升检测精度与训练稳定性

本文提出了一种改进YOLOv11模型的AdaFocalLoss损失函数,通过动态调节机制有效提升小目标检测性能。AdaFocalLoss融合了目标尺寸感知和IoU引导的自适应调节,解决了传统损失函数在小目标检测中的样本不平衡问题。该方法自动调整训练权重,无需手动调参,显著提升了模型在多尺度目标、复杂背景下的检测精度和训练稳定性。实验表明,AdaFocalLoss能更好地平衡不同尺度目标的梯度分布,改善边界完整性,减少误检漏检。文章详细介绍了算法原理、实现代码和在YOLOv11中的集成方法,为提升目标检测性能

Ai缝合怪、助力小伙伴高效发论文 336

求最大子序列

问题描述: 输入一组整数,求出这组数字子序列和中最大值。也就是只要求出最大子序列的和,不必求出最大的那个序列。例如: 序列:-2 11 -4 13 -5 -2,则最大子序列和为20。 序列:-6 2 4 -7 5 3 2 -1 6 -9 10 -2,则最大子序列和为16。 算法一: //穷举法,复杂度O(n^3) long maxSubSum1(const vector&

hdupan的专栏 843

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

最大连续子序列和(4种算法)

文章目录1 算法12 算法23 算法3(分治)4 算法4(在线处理,最快) 问题: 已知 一个整数序列a[n]:n个整数(有正负) 求 在这个序列的所有子序列(连续)中,最大的和是多少? 注意: 以下代码都要求最大和 【可为负数】,若要求最大和 【非负】,只需最后判断一下即可 1 算法1 #include<cstdio> using namespace std; // 整数序列a[n] int max_subseq_sum1(int a[], int n){ int max_s

vuscity的博客 7403

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

求解最大连续子序列和问题———分治法

一、问题描述 给定一个有n(n >= 1)个整数的序列,求出其中最大连续子序列的和。例如序列(34,-20,30,-50,60,-20,30,41,-30,-10)最大子序列和为111,序列(-2,11,-4,13,-5,-2)最大子序列和为20。规定一个序列的最大连续子序列和至少为0。 二、问题求解 1、对于含有n个整数的序列,若n=1,表示序列仅有一个元素,该元素大于0,则返回该元素,否则返回0。 if(left == right){ if(a[left]>=0) return a[l

留小乙的博客 1万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

动态规划求解最大连续子序列和

#!/usr/bin/env python # -*- coding:utf-8 -*- # 求最大连续子序列和 """ 【题目】 给定k个整数的序列{N1,N2,...,Nk },其任意连续子序列可表示为{ Ni, Ni+1, ..., Nj }, 其中 1 <= i <= j <= k。最大连续子序列是所有连续子序中元素和最大的一个, 例如给定序列{ -2, 11, -...

u011865919的博客 2873

动态规划之最大连续子序列和

首先看一个最大连续子序列和的问题,如下: 给定一个整数数列A1,A2,。。。An(n<=10000),求i,j(1<=i<j<=n),使得Ai+...+Aj最大,输出这个最大和,并且输出这个最大连续子序列的首尾元素。 输入占两行,第一行为输入的元素的数量,第二行为输入的元素。 输出占一行,第一个数是最大连续子序列的和,第二个元素为最大连续子序列的首元素,第三个为最大连...

include_xy的博客 896

求解最大连续子序列和问题

求解最大连续子序列和问题 【问题描述】给定一个有n(n>=1)个整数的序列,求出其中最大连续子序列的和。例如序列(-2,,11,-4,13,-5,-2)的最大子序列和为20,序列(-6,2,4,-7,5,3,2,-1,6,-9,10,-2)的最大子序列和为16。规定一个序列的最大连续子序列和至少是0,如果小于0,其结果为0。 ...

慢慢的博客 3669

求最大连续子序列的和

今天看到一道绿盟的面试题。感觉比较有意思,放在这里给大家分享一下。原文如下: 小王的账本:小王出门打零工,工作很不稳定,收入也很不稳定,他找了一个账本记录他每天的支出,例如: 1月1日 收入320; 1月2日 没找到工作,吃饭花了30; 1月3日 挣50; 1月4日 无工作,吃饭花了17; 1月5日 无工作,租房+吃饭花了2600; .......... 年底了,小王想知道自己账本

hhhhhyyyyy8的博客 547

求解最大连续子序列和的算法

//求解最大连续子序列和的算法 #include <stdio.h> long max3(long a,long b,long c) //求出三个long中的最大值 { if (a<b) a=b; //用a保存a、b中的最大值 if (a>c) return a; //比较返回a、c中的最大值 else return c; } lon...

dujuancao11的博客 986

动态规划法-最大连续子序列和问题

我们有一个数字序列,例如 1, -2, 3, 4, -10, 6。我们的目标是找出这个序列中连续数字相加得到的最大和。

qq_52291558的博客 1566
上一篇: 灯的排列问题
下一篇: 对拍程序
MForever
博客等级 码龄16年 1粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值