我们有一个长度为n的数组。

我们的前缀和就是把这个原数组中的若干个元素进行累加计算。

这里有个重要的点就是下标一定要从1开始。

我们第一个问题就是如何去求我们的si:

我们的前i项和的求法是前i-1项的和加上第i个元素。

这里有个边界就是我们的s0要定义成0.

它的作用是能求出y一个数组中任意一段数的和:

比如我们可以求出一个数组中l-r区间段的和。

这基本是咱们前缀和唯一的应用。

s0=0是因为一个边界值的问题,我们求s10的时候因为想求任何一段都用同一个公式,所以会涉及到s10-s0.

我们现在来看一个具体的应用:

整个流程的时间复杂度是O(n),每次询问的时间复杂度是O(1)

然后我们现在来用Java代码给它去实现一下:

这个题它的思想不算难,代码也不算多,我们是不需要记什么模板的,就学会就行:

(ACWing yxc基础算法课笔记) 前缀和相关推荐

  1. AcWing基础算法课Level-2 第四讲 数学知识

    AcWing基础算法课Level-2 第四讲 数学知识 您将学会以下数学名词 质数,试除法,埃式筛法,线性筛,辗转相除,算术基本定理,质因数分解,欧拉函数,快速幂,费马小定理,逆元,拓展欧几里得,一次 ...

  2. AcWing基础算法课Level-2 第二讲 数据结构

    AcWing基础算法课Level-2 第二讲 数据结构 单链表 AcWing 826. 单链表3453人打卡 双链表 AcWing 827. 双链表2865人打卡 栈 AcWing 828. 模拟栈3 ...

  3. AcWing基础算法课Level-2 第五讲 动态规划

    AcWing基础算法课Level-2 第五讲 动态规划 背包问题 AcWing 2. 01背包问题3018人打卡 AcWing 3. 完全背包问题2749人打卡 AcWing 4. 多重背包问题255 ...

  4. AcWing基础算法课Level-2 第六讲 贪心

    AcWing基础算法课Level-2 第六讲 贪心 区间问题 AcWing 905. 区间选点1751人打卡 AcWing 908. 最大不相交区间数量1613人打卡 AcWing 906. 区间分组 ...

  5. AcWing基础算法课Level-2 第三讲 搜索与图论

    AcWing基础算法课Level-2 第三讲 搜索与图论 DFS AcWing 842. 排列数字3379人打卡 AcWing 843. n-皇后问题3071人打卡 BFS AcWing 844. 走 ...

  6. 【基础】基础算法学习笔记(状态空间)

    基础算法学习笔记(状态空间) 一.状态空间 1.定义(什么是状态空间):一个实际问题的各种可能情况构成的集合.(解释:为什么需要算法来和程序来处理问题?如果一道题可以手算得到答案,换句话说就是存在通过 ...

  7. LeetCode左程云算法课笔记

    左程云算法课笔记 剑指Offer 位运算 ^运算符理解 寻找出现双中的单数 取出一个数最右边1的位置 找所有双出现中的两个单数 整数二进制奇数位偶数位交换 数组中全部出现k次返回出现一次的数 链表 判 ...

  8. (ACWing yxc讲解基础算法课程笔记)基础算法 整数二分

    二分排序: 整数二分: 我们先来说一下单调性和二分的区别,有单调性一定能进行二分排序,但是能进行二分排序的不一定有单调性.所以说二分的本质并非是单调性. 我们假设有这样一个范围.我们能把它分成两个部分 ...

  9. 【有营养的算法笔记】基础算法 —— 推导证明前缀和与差分

最新文章

  1. STM32 驱动例程
  2. linux卸载桌面Ubuntu,Ubuntu安装卸载KDE桌面之折腾记
  3. 为什么Servlet程序的init(ServletConfig config)中需要调用父类的init方法
  4. 如何编写出拥抱变化的代码
  5. 转:谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词
  6. Fragment与Acitvity通信
  7. 『互联网架构』软件架构-软件系统设计(一)
  8. win7系统安装SQL Server 2005开发版步骤详解
  9. android 点击接口回调,带你了解Android接口回调机制
  10. 超级简单小程序点赞功能
  11. 全月加权平均的计算(分仓核算,结果反填到单据)
  12. 关于控件注册和使用许可问题的解决办法
  13. IO流_IO流小结图解
  14. java utf8无bom格式_关于java:编写没有BOM的UTF-8
  15. 2014美国大学计算机专业排名,2014USNews美国大学研究生计算机的专业排名
  16. Go实战--使用golang开发Windows Gui桌面程序(lxn/walk)
  17. Turtle绘制一朵玫瑰花
  18. flash:uboot下sf(nor flash)的流程
  19. iOS开发之网络编程SocKet
  20. 如何自建微信外卖平台_如何自建微信外卖平台,微信外卖系统怎样去运作

热门文章

  1. opencv图像处理学习(六十八)——肤色检测
  2. iOS 如何查看SDK版本
  3. 乐吾乐2D可视化为智慧水务可视化赋能(二)
  4. 加密授权验证学习之五——RSA非对称加密算法将机器码加密为注册码
  5. JAVASE知识点整理(超万字)
  6. java sql查询空内容,sql查询空指针异常
  7. 戴尔笔记本重装系统找不到硬盘怎么办?
  8. 交换机,集线器,路由器这三者如何区分,各自的作用是什么?
  9. python实现微信自动回复机器人+查看别人撤回的消息(部署到云服务器)
  10. Ant Design中Form组件重置验证条件resetFields()方法