洛谷P1115最大字段和的前缀和做法

301 字
2 分钟
洛谷P1115最大字段和的前缀和做法

———————————本文旨在学习交流计算机知识,欢迎指正!———————————— 看到标题,我们可以发现,这也是一个继承性累加问题,很显然的想到滑动窗口和前缀和两个方法: 首先看滑动窗口,那我们的思路就是左边是left,右边是right,而每次向右判断最大的数更新值但记录最大值,可是,如果这样做无异于每个点都要当作左点一次,时间复杂度为(n*n/2) 对于数据来看,有可能会超限,和暴力无异,于是我们想到改换一种别的方法————前缀和: 首先,我们记录下传入数组a和叠加前缀数组pre:

int n;
cin >> n;
vectora(n + 1, 0);
vectorpre(n + 1, 0);
for (int i = 1; i > a[i];
for (int i = 1; i
#include
#include
using namespace std;
int main()
{
int n;
cin >> n;
vectora(n + 1, 0);
vectorpre(n + 1, 0);
for (int i = 1; i > a[i];
for (int i = 1; i <= n; i++)pre[i] = pre[i - 1] + a[i];
int minner = 0;
int ans = 0;
for (int i = 1; i <= n; i++)
{
ans = max(ans, pre[i] - minner);
minner = min(minner, pre[i]);
}
cout << ans << endl;
return 0;
}

希望能对你有所帮助!

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
洛谷P1115最大字段和的前缀和做法
https://firefly.cuteleaf.cn/posts/knowledge/洛谷p1115最大字段和的前缀和做法/
作者
Firefly
发布于
2026-06-21
许可协议
CC BY-NC-SA 4.0
相关文章 智能推荐
1
洛谷P1010递归法题解
算法题解 ————————————本文旨在讨论计算机知识,欢迎指正—————————————— 输入输出样例 输入 1315 输出 2(2(2+2(0))+2)+2(2(2+2(0)))+2(2(2)+2(0))+2+2(0) 说明/提示 【数据范围】 对于 100% 的数据...
2
洛谷P1996约瑟夫问题数据结构链表模拟法
算法题解 ———————————本文旨在讨论和交流计算机知识,欢迎指正!!!————————— 题目描述 n 个人围成一圈,从第一个人开始报数,数到 m 的人出列,再由下一个人重新从 1 开始报数,数到 m 的人再出圈,依次类推,直到所有的人都出圈,请输出依次出圈人的编号。 输入格式 输入两个整数 n,m...
3
链表的实现与介绍
数据结构 ——————————————本文旨在交流计算机知识,欢迎指正————————————— 首先,我们回顾一下上一期讲的顺序表: 顺序表是一种物理结构上连续的,一整块连续空间的逻辑表,但是,试想一下,如果每次我们都是申请在一块整块空间里面的顺序表,但是我们并不知道堆空间里面我们malloc一块空间之后我...
4
数据结构之树及树的存储
数据结构 ——————————————本栏目旨在交流计算机知识————————————————— 上一章节,我们介绍了线性的数据结构:表,栈,队列。接下来,我们将进入下一章节——树结构的学习。 首先,我们先介绍一下树的基本概念: 结点:使⽤树结构存储的每一个数据元素都被称为“结点”。例如图中的A就是一个结点。...
5
程序与进程CPU执行的奥秘
Linux编程 本文基于教程:https://www.youtube.com/playlist?list=PL9vTTBa7QaQPdvEuMTqS9McYieaweU8M(https://www.youtube.com/playlist?list=PL9vTTBa7QaQPdvEuMTqS9McYieaweU8M...
随机文章 随机推荐
Profile Image of the Author
Firefly
Hello, I'm Firefly.
公告
欢迎来到我的博客!这是一则示例公告。
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
标签
站点统计
文章
33
分类
7
标签
25
总字数
56,127
运行时长
0
最后活动
0 天前
站点信息
构建平台
Vercel
博客版本
Firefly v6.12.3
文章许可
CC BY-NC-SA 4.0

文章目录