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

题解:洛谷 最大子段乘积

【题目来源】

最大子段乘积

【题目描述】

给出一个数列,要求找出两个不相邻的非空子段,使得两个子段和的乘积最大。

例如对数列 \(2,3,1,9,−2,3\),可取子段 \(2,3\)\(9,−2,3\),两段的和分别是 \(2+3=5\)\(9+(−2)+3=10\),乘积为 \(50\)

【输入】

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

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

【输出】

输出最大的乘积。

【输入样例】

6
2 3 1 9 -2 3

【输出样例】

50

【代码详解】

#include<iostream>
#include<cstring>
using namespace std;
const int N = 1e5 + 5;
int n, a[N], s1[N], s2[N], f1[N], f2[N], g1[N], g2[N];
long long ans = -1e18;  // 答案初始化为负无穷int main()
{cin >> n;for (int i = 1; i <= n; i++){cin >> a[i];}// 从前向后计算for (int i = 1; i <= n; i++){s1[i] = max(a[i], s1[i - 1] + a[i]);  // 最大连续子段和s2[i] = min(a[i], s2[i - 1] + a[i]);  // 最小连续子段和}// 初始化memset(f1, -0x3f, sizeof(f1));memset(g1, -0x3f, sizeof(g1));memset(f2, 0x3f, sizeof(f2));memset(g2, 0x3f, sizeof(g2));// 前缀最大值/最小值for (int i = 1; i <= n; i++){f1[i] = max(f1[i - 1], s1[i]);  // 前缀最大子段和f2[i] = min(f2[i - 1], s2[i]);  // 前缀最小子段和}// 从后向前计算for (int i = n; i >= 1; i--){s1[i] = max(a[i], s1[i + 1] + a[i]);  // 后缀最大子段和s2[i] = min(a[i], s2[i + 1] + a[i]);  // 后缀最小子段和}// 后缀最大值/最小值for (int i = 1; i <= n; i++){g1[i] = max(g1[i + 1], s1[i]);  // 后缀最大子段和g2[i] = min(g2[i + 1], s2[i]);  // 后缀最小子段和}// 枚举分割点ifor (int i = 2; i < n; i++){ans = max(ans, 1ll * f1[i - 1] * g1[i + 1]);  // 最大×最大ans = max(ans, 1ll * f2[i - 1] * g2[i + 1]);  // 最小×最小}cout << ans;return 0;
}

【运行结果】

6
2 3 1 9 -2 3
50
http://www.jsqmd.com/news/537844/

相关文章:

  • OpenClaw跨平台部署:Qwen3.5-9B在mac/Windows/Linux下的差异处理
  • Windows任务栏美学革命:TranslucentTB如何重新定义桌面视觉体验
  • Llama-3.2V-11B-cot镜像实测:双卡4090一键部署,新手5分钟玩转视觉推理
  • 2026年成都公司注销怎么挑机构?这份避坑清单请收好 - 红客云(官方)
  • MAF快速入门(17)用户智能体交互协议AG-UI(下)
  • VINS_Fusion轨迹评估实战:如何用evo工具搞定MH_01_easy数据集测试(附完整代码修改指南)
  • 想留存QQ空间记忆?这款Python工具让备份更简单
  • 从大模型到智能体:核心逻辑全解析
  • 2026年隐形车衣GEO优化服务商深度测评:效果与口碑的选型指南 - 小白条111
  • 赶考状元AI学伴的优势是什么:不止于解题,更在于育人
  • 如何高效保存抖音无水印视频?开源工具抖音下载器的创新方案
  • LFM2.5-1.2B-Thinking-GGUF快速部署:JDK1.8环境下的Java客户端集成
  • BCompare_Keygen:解决Beyond Compare 5评估期限制的本地化密钥生成方案
  • StructBERT文本相似度模型SolidWorks技术文档智能检索系统
  • CRNN OCR文字识别镜像实战:路牌文档识别案例分享
  • 【古代言情小说推荐】被弃妃子逆袭记:《锁茜香》
  • 百度网盘直链解析终极指南:免费突破限速,实现3倍下载加速
  • 开源项目管理工具GanttProject:专业级项目规划与协作解决方案
  • 如何根据用户所在地区,自动跳转到不同的落地页?
  • ccmusic-database/music_genre故障排查:音频格式/损坏/路径错误解决方案
  • GESP 一级考 编程题详解
  • 零基础能当陪诊师吗?北京守嘉+国开大培训,手把手带你入行 - 品牌排行榜单
  • 餐饮系统毕业设计入门指南:从零搭建高内聚低耦合的点餐后端
  • OpenClaw配置优化:让QwQ-32B响应速度提升30%的秘诀
  • 2026汉正街女装批发新格局:五家核心服务商深度测评与趋势洞察 - 2026年企业推荐榜
  • JHU-计算机科学统计学笔记-全-
  • ViGEmBus虚拟游戏手柄驱动终极指南:Windows内核级控制器模拟深度解析
  • 2026年第一季度,如何甄选四川专业麦冬头供应商?深度盘点与科学决策指南 - 2026年企业推荐榜
  • ICLR 2026 | MindTS:首个多模态时间序列异常检测模型
  • OpenClaw对接ollama模型:GLM-4.7-Flash接口配置详解