首页 > 其他分享 >第四章 前缀和,差分

第四章 前缀和,差分

时间:2024-08-09 16:24:39浏览次数:10  
标签:前缀 int 差分 数组 区间 简写 第四章

目录

1 前缀和

1.1 什么是前缀和?

1.2 前缀和的作用

注意事项:

1.3 一维前缀和

1.3.1 代码模板

1.3.2 例题

分析: 

 代码:

1.4 二维前缀和

 1.4.1 代码模板

2 差分

2.1 什么是差分?

2.2 差分的作用

注意事项:

 2.3 一维差分

2.3.1 代码模板

 2.4 二维差分

2.4.1 代码模板

3 前缀和与差分比较

4 例题

 蓝桥杯省赛 3514 子串简写

分析:

代码:

 蓝桥杯省赛 3533 棋盘

分析:

代码:


1 前缀和

1.1 什么是前缀和?

前缀和概念源于数列知识,其核心思想是将数列的前n项和视为一个新的数组,这个数组即被称为前缀和数组。通过前缀和数组,我们可以高效地处理与数列部分和相关的计算问题

1.2 前缀和的作用

前缀和是求解区间和的高效工具。其预处理过程的时间复杂度为O(n),即遍历一次原数组即可得到前缀和数组。一旦前缀和数组构建完成,查询任意区间和的时间复杂度可降至O(1)

然而,需要注意的是,前缀和算法适用于数组元素不变的情况。若数组频繁变动,则需重新构建前缀和数组,这将再次引入O(n)的时间复杂度。

注意事项:

  • 从数组的第一个元素开始遍历以构建前缀和数组。(建议角标从1开始)
  • 考虑到大数问题,建议使用long long类型存储前缀和及计算结果

1.3 一维前缀和

一维前缀和的本质是在一维坐标轴上计算线段长度(即区间和)。

1.3.1 代码模板

相关文章

  • 前缀和 & 差分
    1.前缀和前缀和是一种支持不带修改,多次查询的数据结构。1.1一维前缀和维护前缀和数组\(b_i=\sum\limits_{j=1}^ia_i\),则\(b\)数组还可以通过递推式\(b_i=b_{i-1}+a_i\)得到。当需要求区间\([l,r]\)的和,就可以通过\(b\)数组\(b_r-b_{l-1}\)得到,时间复杂度\(\mat......
  • 【线段树合并/树上差分】[P4556 [Vani有约会] 雨天的尾巴 /【模板】线段树合并
    【线段树合并/树上差分】P4556[Vani有约会]雨天的尾巴/【模板】线段树合并思路对\(x,y,lca(u,v),fa_{lca(u,v)}\)四个点进行树上差分,然后用线段树合并动态权值线段树。#include<bits/stdc++.h>usingnamespacestd;usingi64=longlong;template<classNode>str......
  • 【北京迅为】《stm32mp157开发板嵌入式linux开发指南》第四章 Ubuntu 启用 root 用户
         iTOP-STM32MP157开发板是基于意法半导体STARM双Cortex-A7核加单Cortex-M4核的一款多核异构处理器。Cortex-A7内核提供对开源操作系统Linux的支持,借助Linux系统庞大而丰富的软件组件处理复杂应用。M4内核上运行对于实时性要求严格的应用。        开发板既有......
  • 生物电信号放大器的差分放大器与隔离放大器
    人体电信号测量流程生物电信号是为我们测量的目标,电极传感器在实际应用中一般分为三个,包括信号电极、参考电极和接地电极。而生物电放大器这是最为重要的部分,它将我们通过电极传感器获得的微弱电信号进行放大、滤波从而实现真实准确地在显示器上展示我们的信号表现。生物电放......
  • 表面贴装差分输出晶体振荡器(DSO753SK/DSO753SJ/DSO753SD):高性能频率源的卓越之选
    在当今高度集成化和高速化的电子世界中,精准、稳定且高速的频率源对于各种电子设备的正常运行至关重要。表面贴装差分输出晶体振荡器(DifferentialOutputCrystalOscillator)DSO753SK、DSO753SJ和DSO753SD以其出色的性能和独特的特点,成为了满足现代电子系统苛刻要求的理想......
  • 洛谷题单指南-前缀和差分与离散化-P1904 天际线
    原题链接:https://www.luogu.com.cn/problem/P1904题意解读:给出(左端点,高度,右端点)表示的若干建筑,要输出其轮廓,所谓轮廓就是每个点被覆盖的最高建筑的高度所描绘的线。解题思路:如果能计算每个点被覆盖的最高建筑的高度,用数组h[10005]保存,那么输出轮廓的过程只需要枚举每一个点,如......
  • 「Day 2—贪心问题&分治&前缀和」
    贪心问题定义顾名思义,越贪越好。。。习题P1094[NOIP2007普及组]纪念品分组思路简单来说:最少的+最多的,利用双指针。代码#include<algorithm>#include<iostream>usingnamespacestd;intw,n;intp[30005];intmain(){cin>>w;cin>>n;for(inti=1;i......
  • 【第四章】测试理论与方法 - 黑盒测试
         大家好,我是一名全栈测试开发工程师,除了工作和家庭,平时还喜欢参与开源项目、搞点博客软文,目前已经开源一套【自动化测试框架】和【测试管理平台】。欢迎大家关注我,和我一起【分享测试知识,交流测试技术,趣闻行业热点】。        在软件测试的领域中,黑盒测试......
  • 算法【构建前缀信息解决子数组问题】
    本文需要对掌握哈希表的用法。构建某个前缀信息比如最早出现、最晚出现、出现次数等,是很常见的技巧。除此之外,还有很多种类的前缀信息可以构建出来,解决很多子数组相关问题。下面通过几个题目加深对构建前缀信息这个方法的理解。题目一简要描述:构建前缀和数组。快速解决子......
  • 算法【前缀树】
    注意:学习本篇最少应知道什么是树结构和哈希表怎么用。前缀树又叫字典树,英文名trie。每个样本都从头节点开始根据前缀字符或者前缀数字建出来的一棵大树,就是前缀树。没有路就新建节点;已经有路了,就复用节点。前缀树的使用场景:需要根据前缀信息来查询的场景前缀树的优点:根......