正在加载内容…
洛谷P1115最大字段和的前缀和做法
301 字
2 分钟
洛谷P1115最大字段和的前缀和做法
本文介绍洛谷P1115最大子段和的前缀和做法:先求前缀和,遍历时用当前前缀和减此前最小前缀和更新答案,避免滑动窗口的平方复杂度,实现O(n)求解。
———————————本文旨在学习交流计算机知识,欢迎指正!————————————
看到标题,我们可以发现,这也是一个继承性累加问题,很显然的想到滑动窗口和前缀和两个方法:
首先看滑动窗口,那我们的思路就是左边是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://mjzy.tech/posts/knowledge/洛谷p1115最大字段和的前缀和做法/ 相关文章 智能推荐
1
洛谷P1010递归法题解
算法题解 本文讲解洛谷P1010幂次方递归解法:将n按2的幂拆分,用递归输出带括号的2的幂表达式,并以2的0次方和1次方为递归终点。
2
洛谷P1996约瑟夫问题数据结构链表模拟法
算法题解 本文讲解洛谷P1996约瑟夫问题的链表模拟解法:用数组构造首尾相连的循环链表,从上一出圈者前驱出发报数m次定位出列者并输出其编号,再删除该节点,直到所有人出圈。
3
不再洄游,而是深潜 & grillme之产品经验谈
领域思考 作者反思AI时代程序员角色转型:从追求技术广度的洄游,转向在机器人、自动驾驶等交叉领域深耕产品方案,并以grillme为例说明轻量skill依附生态解决痛点的产品设计思路。
4
新时代的重要资产与生存智慧
领域思考 文章指出AI时代真正资产是可复用的决策链,而非代码或聊天记录。方法是将决策原因、被推翻方案、纠正偏好和踩坑现场结构化外置,供新会话检索;并提醒大学阶段应把时间投向可积累的判断。
5
畅想:瓶颈与更高效的协作未来
展望 AI协作瓶颈从模型侧转向人类接收侧,文章复盘四次迁移,主张由读懂个人数字资产的PA承担杂务,人专注权衡定调。
随机文章 随机推荐
评论区
正在加载 GitHub 评论…