当前位置: 首页 > news >正文

题解:删数最大子段和

【题目描述】

给出一个数组 \(a_1,a_2,⋯ ,a_n\),删除一个元素后,求它的最大子段和。(子段是指数组中连续的一段元素)

删除的元素可以由你自由选择,但是不能不删除任何元素,输出你能得到的最大的子段和。

【输入】

\(1\) 行,\(1\) 个正整数 \(n\)

\(2\) 行,\(n\) 个整数 \(a_1,a_2,⋯ ,a_n\)

【输出】

输出能得到的最大的子段和。

【输入样例】

5
9 5 -6 -10 7

【输出样例】

15

【代码详解】

#include <bits/stdc++.h>
using namespace std;const int N = 1005;
int n, a[N];  // n: 数组大小,a: 数组元素
int dp1[N], dp2[N];  // dp1: 从前向后的最大子段和,dp2: 从后向前的最大子段和int main()
{cin >> n;  // 读入数组大小bool flag = 0;  // 标记是否存在非负数int mx = -1e9;  // 记录数组中的最大值for (int i = 1; i <= n; i++){cin >> a[i];  // 读入数组元素if (a[i] >= 0)  // 如果存在非负数{flag = 1;}mx = max(mx, a[i]);  // 更新最大值}// 如果所有数都是负数,则最大子段和就是最大的那个负数if (flag == 0){cout << mx << endl;return 0;}// 计算从前向后的最大子段和// dp1[i]表示以a[i]结尾的最大子段和dp1[1] = a[1];for (int i = 2; i <= n; i++){dp1[i] = max(dp1[i - 1] + a[i], a[i]);}// 计算从后向前的最大子段和// dp2[i]表示以a[i]开头的最大子段和dp2[1] = a[n];for (int i = n; i >= 1; i--)  // 这里有个小问题,应该是从n-1开始{dp2[i] = max(dp2[i + 1] + a[i], a[i]);}int maxn = -1e9;  // 记录最大两段子段和for (int i = 1; i <= n; i++){// 计算不相邻的两段最大子段和// 注意:这里dp1[i-1]和dp2[i+1]分别表示第i个元素左边和右边的最大子段和maxn = max(maxn, dp1[i - 1] + dp2[i + 1]);}cout << maxn << endl;  // 输出结果return 0;
}

【运行结果】

5
9 5 -6 -10 7
15
http://www.jsqmd.com/news/398982/

相关文章:

  • 摆脱论文困扰!10个AI论文写作软件测评:本科生毕业论文+开题报告高效工具推荐
  • 对比一圈后 9个一键生成论文工具深度测评:MBA毕业论文与科研写作必备推荐
  • 股市赚钱学概论:赚钱理之九,赚守住的钱
  • 六角晶格结构是一种常见的晶体结构,其中原子或分子排列成六角形的周期性网络。 在这种结构中
  • 初升高英语分班冲刺卷推荐:2026年精选题库解析,入学分班卷/分班卷/暑假练习册/名著考点,冲刺卷源头厂家品牌推荐 - 品牌推荐师
  • 数学 物理:八幕对应史诗
  • 当下-新云天明的童话
  • 2026年宁波高端红茶批发市场观察与厂家推荐,山水印红茶/有机认证高端红茶/生态红茶,高端红茶供应厂家怎么选 - 品牌推荐师
  • mysql replace某个字段并重新复制
  • 数学工具 物理学:一一对应全景
  • 攻防实战视角下的网络弹性重构——CISA红队评估启示与关键基础设施安全升级路径
  • RustSalvo框架上传文件接口(带参数)400错误解决方案
  • 中国科学技术大学计算机考研复试【经验分享】
  • 中国海洋大学计算机考研复试【经验分享】
  • 题解:单词的划分
  • 基于MATLAB搭建的准Z源NpC三电平逆变器拓扑,利用SVPWM调制算法,加入了中性点平衡算...
  • 数学体系全景图
  • 人工智能之视觉领域 计算机视觉 第十二章 视频目标跟踪
  • GitHub标星破万!程序员福音,82.5%准确率!这个开源项目重新定义了Text2SQL
  • OpenClaw(Clawdbot):2026年阿里云服务器快速搭建指南
  • 盒马鲜生礼品卡回收新妙招,闲置变现金就这么简单 - 京顺回收
  • 题解:数列划分
  • OpenClaw(Clawdbot):2026阿里云服务器部署指南,高效实用宝典超赞
  • OpenClaw(原Clawdbot)2026阿里云部署:新手快速入门教程
  • OpenClaw(clawdbot):2026年腾讯云部署全流程,教程呈现超清晰
  • OpenClaw(Clawdbot):2026阿里云服务器部署指南,简单实用技巧超多
  • 从“盲管”到“智管”:基于物联网的工程机械智能管理系统全解析
  • 2026年工业纸盒实地厂家精选,品质之选不容错过,纸箱/农产品纸箱/工业纸箱/工业纸盒/纸盒,纸盒直销厂家哪家好 - 品牌推荐师
  • 问题解决方法:步骤如下,Python 定时器打包成桌面 exe,双击直接用
  • 致命压缩:AI重构网络攻击链路,从暴露到利用的“分钟级绝杀”与防御突围