洛谷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://mjzy.tech/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
FreeRTOS 任务挂起与恢复 — Suspended 态的语义与用法
物联网 本章在上一章的基础上做了一个小而精的改动:把"删任务"换成了"挂起与恢复"。
4
FreeRTOS 多任务 — 任务创建/删除、时间片调度与延时必要性
物联网 本章项目 FREERTOS/1MultiTask 是一个 双任务并行 的最小工程:
5
BLE 与 NimBLE GATT 服务 — ESP32-S3 被手机连接并控制 LED
物联网 本章项目 24BLE 是一个 ESP32-S3 基于 NimBLE 协议栈创建 BLE 外设(Peripheral),等待手机连接,并通过 GATT 特征值读写实现 LED 控制 的示例工程。
随机文章 随机推荐