洛谷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#includeusing 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最大字段和的前缀和做法/ 相关文章 智能推荐
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...
随机文章 随机推荐