首页 > 其他分享 >前缀和笔记

前缀和笔记

时间:2024-10-12 15:46:43浏览次数:8  
标签:前缀 r2 笔记 l2 数组 l1 r1

前缀和笔记

对于一个一维数组 a[m]

其前 i 项和记作 s[i]

如果想要对 a[m] 中任意连续段的值进行求和,例如 a[l]~a[r]

则可使用前缀和数组进行 o(n) 计算

int a[m],s[m];

s[0]=0;//定义s[0]的值,防止边界问题

for (int i=0;i<m;i++){
	cin>>a[i];
	s[i]=s[i-1]+a[i];
}

这样的话,s 数组中存储的值便是前 i 项 a 数组的和

a[l]~a[r] 则可写作 s[r]-s[l-1],减少调用累加时间

若存在一个二维数组 a[m] [n]

求其前 i j 项的二维前缀和有公式:

s[i][j]=s[i][j-1]+s[i-1][j-1]-s[i-1][j-1]+a[i][j];

不难推出s[l1] [r1] ~ s[l2] [r2] 的和

对求任意的(l1,r1)~(l2,r2)有:

sum=s[l2][r2]-s[l2][r1]-s[l1][r2]+s[l1][r1];

标签:前缀,r2,笔记,l2,数组,l1,r1
From: https://www.cnblogs.com/dianman/p/18460666

相关文章

  • 阅读笔记一:软件构建的本质与重要性(代码大全2)
    阅读笔记一:软件构建的本质与重要性《代码大全2》让我们深刻认识到软件构建是软件开发的核心环节。软件构建并非简单的代码编写,它是一个综合性的过程。软件构建就像建造一座大厦,从蓝图设计到一砖一瓦的搭建,都需要精心规划和细致执行。在这个过程中,我们要将抽象的业务需求转化为......
  • cmake使用笔记
    cmake_cxx_flags常用值在CMake中,CMAKE_CXX_FLAGS是一个用于指定C++编译器选项的变量。你可以将不同的编译选项添加到这个变量中,以影响编译过程的行为。以下是一些常用的CMAKE_CXX_FLAGS值及其说明:1.优化选项1.-O0:禁用优化(默认选项)。2.-O1:启用一级优化。3.-O2:启用二......
  • 关于C/CPP使用结构体中位域的一些笔记
    工作中软件通讯用到了结构体,在解析时,对应第一个变量在高位还是低位一直记不住。故计此博客作为笔记typedefstruct_stBin{ BYTEbOne:2; BYTEbTwo:2; BYTEbThree:2; BYTEbFour:2; _stBin() { bOne=0; bTwo=0; bThree=0; bFour=0; }}stB......
  • FFmpeg开发笔记(五十五)寒冬里的安卓程序员可进阶修炼的几种姿势
    ​喊了多年的互联网寒冬,今年的寒风格外凛冽,还在坚守安卓开发的朋友着实不容易。因为能转行的早就转了,能转岗的也早就转了,那么安卓程序员比较迷茫的就是,我该学什么安卓技术才好呢?还是直接扔了安卓再去搞别的技术吗?下面探讨下安卓程序员还能在哪些方面进阶修炼,主要有以下三个方向......
  • 神经网络与深度学习基础教程笔记(附案例讲解)
    神经网络与深度学习基础教程笔记(附案例讲解)引言神经网络和深度学习是人工智能领域中最重要的技术之一,它们在图像识别、自然语言处理、语音识别等领域取得了巨大的成功。本教程将从基础概念出发,逐步深入到高级主题,帮助你全面理解并掌握这些强大的工具。本文是神经网络与......
  • ROS理论与实践学习笔记——4 ROS的常用组件之TF坐标变换
        tf:TransFormFrame,坐标变换    坐标系:ROS中是通过坐标系统开标定物体的,确切的将是通过右手坐标系来标定的。    作用:在ROS中用于实现不同坐标系之间的点或向量的转换。    说明:在ROS中坐标变换最初对应的是tf,不过在hydro版本开......
  • 《综合与Design Compiler》笔记
    《综合与DesignCompiler》笔记一直没系统的整理过DC这块的东西,这里借助一个挺好的文档《综合与DeisgnCompiler》以及我自己的经验和理解来归总一下。1.综合是什么综合是使用软件的方法来设计硬件,然后将门级电路实现与优化的工作留给综合工具的一种设计方法。它是根据一个系......
  • TensorFlow 学习笔记
    Tensorflow是谷歌开发的一款机器学习软件包。2019年,谷歌将Keras集成到Tensorflow中,并发布了Tensorflow2.0。Keras是FrançoisChollet独立开发的一个框架,为Tensorflow创建了一个简单的、以层为中心的接口。张量(Tensor)是数组的另一个名称。TensorFlow.orgimportte......
  • 整体二分 学习笔记
    整体二分本文通过介绍几道例题的解法,带你深入了解整体二分的精髓。例题大致按难度排序,其中,中间的三道题都是类似的。P3527[POI2011]MET-MeteorsP3332[ZJOI2013]K大数查询P2617DynamicRankingsP1527[国家集训队]矩阵乘法P5163WD与地图简介给你\(Q\)个询问,每......
  • 《Pytorch深度学习实践》P3梯度下降法 笔记+代码+图像:梯度下降、随机梯度下降、小批量
    目录梯度下降(BatchGradientDescent)随机梯度下降(StochasticGradienDescent,SGD)小批量随机梯度下降(Mini-batchGradientDescent)梯度下降(BatchGradientDescent)介绍:使用所有的训练样本计算梯度,并且在每次迭代中更新权重。原理:假设有一个损失函数,它依赖于参数。通过最......