news 2026/1/27 7:41:33

算法——前缀和

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
算法——前缀和

前缀和与差分的核心思想是预处理,可以在暴力枚举的过程中,快速给出查询的结果,从而优化时间复杂度。是经典的用空间替换时间的做法。

一、一维前缀和

快速求出数组中,某一段区间的和

1.先预处理出一个前缀和数组

①f [ i ] 表示:区间 [ 1 ,i ] 中所有元素的和

②计算公式:f [ i ] = f [ i - 1 ] + a [ i ]

2.利用前缀和数组

f [ l , r ] = f [ r ] - f [ l - 1 ]

【模板】静态区间和(前缀和)_牛客题霸_牛客网

描述

对于给定的长度为 nn 的数组 {a1,a2,…,an}{a1​,a2​,…,an​} ,你需要构建一个能够维护区间和信息的数据结构,使得其能支持:
∙ ∙ 区间和查询:输出 [l,r][l,r] 这个区间中的元素之和,即 ∑i=lrai∑i=lr​ai​ 。

输入描述:

第一行输入两个整数 n,q(1≦n,q≦106)n,q(1≦n,q≦106) 代表数组中的元素数量、操作次数。
第二行输入 nn 个整数 a1,a2,…,an(−109≦ai≦109)a1​,a2​,…,an​(−109≦ai​≦109) 代表初始数组。
此后 qq 行,每行输入两个整数 l,r(1≦l≦r≦n)l,r(1≦l≦r≦n) 代表区间和查询。

输出描述:

对于每一次询问,输出一行一个整数代表区间和。

示例1

输入:

3 2 1 2 4 1 2 2 3

输出:

3 6
#include <iostream> using namespace std; typedef long long LL; LL arr[1000000]; LL f[1000000];//前缀和数组 int main() { LL n,q; cin>>n>>q; int i=0; for(i=1;i<=n;i++) cin>>arr[i]; //处理前缀和数组 for(i=1;i<=n;i++) f[i]=f[i-1]+arr[i]; //处理q次询问 while(q--) { LL left,right; cin>>left>>right; cout<<f[right]-f[left-1]<<endl; } return 0; }

P1115 最大子段和 - 洛谷

题目描述

给出一个长度为 n 的序列 a,选出其中连续且非空的一段使得这段和最大。

输入格式

第一行是一个整数,表示序列的长度 n。

第二行有 n 个整数,第 i 个整数表示序列的第 i 个数字 ai​。

输出格式

输出一行一个整数表示答案。

输入输出样例

输入 #1复制

7 2 -4 3 -1 2 -4 3

输出 #1复制

4

说明/提示

样例 1 解释

选取 [3,5] 子段 {3,−1,2},其和为 4。

数据规模与约定
  • 对于 40% 的数据,保证 n≤2×103。
  • 对于 100% 的数据,保证 1≤n≤2×105,−104≤ai​≤104。
#include<iostream> using namespace std; typedef long long LL; const int N = 2e5 + 10; LL arr[N]; LL f[N]; int main() { LL n = 0; cin >> n; LL i = 0; for (i = 1;i <= n;i++) cin >> arr[i]; for (i = 1;i <= n;i++) f[i] = f[i - 1] + arr[i]; LL max_sum = f[1]; LL minPrev = 0; for (i = 1;i <= n;i++) { max_sum = max(max_sum, f[i] - minPrev); minPrev = min(minPrev, f[i]); } cout << max_sum; return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/20 10:36:39

Sonic数字人担任AI面试官?提问+表情反馈

Sonic数字人担任AI面试官&#xff1f;提问表情反馈 在招聘流程日益标准化的今天&#xff0c;企业HR常常面临一个两难问题&#xff1a;如何在保证专业度的同时&#xff0c;大幅提升初筛效率&#xff1f;真人录制宣讲视频成本高、更新慢&#xff0c;而传统虚拟形象又显得僵硬冷漠…

作者头像 李华
网站建设 2026/1/2 18:08:39

人类一眼就能分辨Sonic是AI生成?细节仍有差距

Sonic数字人生成&#xff1a;为何人类仍能一眼识破AI痕迹&#xff1f; 在短视频与虚拟内容爆发的今天&#xff0c;我们几乎每天都会刷到“会说话的数字人”——可能是电商直播间的AI主播&#xff0c;也可能是知识类视频里的虚拟讲解员。这些角色大多由一张静态照片加一段音频驱…

作者头像 李华
网站建设 2026/1/2 18:08:18

Sonic数字人能否识破谎言?目前不具备此能力

Sonic数字人能否识破谎言&#xff1f;目前不具备此能力 在虚拟主播24小时不间断直播、AI教师批量生成教学视频的今天&#xff0c;人们对数字人的期待早已超越“能说会动”的基础要求。我们开始追问&#xff1a;这个面带微笑、口齿清晰的虚拟形象&#xff0c;是否真的“懂”自己…

作者头像 李华
网站建设 2026/1/26 2:57:53

从科研到落地:Sonic数字人如何推动AI虚拟形象普及

从科研到落地&#xff1a;Sonic数字人如何推动AI虚拟形象普及 在短视频当道、内容生产节奏不断加快的今天&#xff0c;你有没有想过——一个没有露脸拍摄的老师&#xff0c;也能出现在课堂视频里&#xff1f;一位基层公务员上传一张证件照&#xff0c;就能自动生成政策解读播报…

作者头像 李华
网站建设 2026/1/18 10:20:58

医疗聊天机器人情感响应测试:构建可信赖的AI心理伙伴

一、情感响应测试的医疗特殊性 在心理健康场景中&#xff0c;聊天机器人的情感识别误差可能导致严重后果。测试工程师需关注三大核心维度&#xff1a; 语义情感偏差检测&#xff08;如将“我睡不着”误判为生理问题而非抑郁倾向&#xff09; 危机信号响应验证&#xff08;自杀…

作者头像 李华
网站建设 2026/1/20 3:44:55

老人陪伴机器人搭载Sonic?情感交互新可能

老人陪伴机器人搭载Sonic&#xff1f;情感交互新可能 在一间安静的客厅里&#xff0c;一位独居老人轻声说&#xff1a;“今天有点累。”话音刚落&#xff0c;茶几上的陪伴机器人微微前倾&#xff0c;屏幕中浮现一张温和的面孔——那是一位看起来像孙女模样的数字人。她眨了眨眼…

作者头像 李华