模板

S[i] = a[1] + a[2] + ... a[i]
a[l] + ... + a[r] = S[r] - S[l - 1]

例题

## 传送门:795. 前缀和

输入一个长度为n的整数序列。

接下来再输入m个询问,每个询问输入一对l, r。

对于每个询问,输出原序列中从第l个数到第r个数的和。

输入格式

第一行包含两个整数n和m。

第二行包含n个整数,表示整数数列。

接下来m行,每行包含两个整数l和r,表示一个询问的区间范围。

输出格式

共m行,每行输出一个询问的结果。

数据范围

1≤l≤r≤n,
1≤n,m≤100000,
−1000≤数列中元素的值≤1000

输入样例:

5 3
2 1 3 6 4
1 2
1 3
2 4

输出样例:

3
6
10
#include <iostream>using namespace std;const int N = 100000;int a, n, m;
int s[N];int main()
{cin >> n >> m;for (int i = 1; i <= n; i++){scanf("%d", &a);s[i] = s[i - 1] + a;//s[i]即为前n项的和}while (m--){int l, r;scanf("%d%d", &l, &r);printf("%d\n", s[r] - s[l - 1]);}return 0;
}

一维前缀和(附模板题)相关推荐

  1. 一维差分(附模板题)

    模板 B[i]=a[i]-a[i-1] 给区间[l, r]中的每个数a[]加上c:B[l] += c, B[r + 1] -= c(结合下方例题理解) 题目 传送门:797. 差分 输入一个长度为n的 ...

  2. 二维前缀和(附模板题)

    模板 S[i, j] = 第i行j列格子左上部分所有元素的和 以(x1, y1)为左上角,(x2, y2)为右下角的子矩阵的和为: S[x2, y2] - S[x1 - 1, y2] - S[x2, ...

  3. ~~字符串哈希(数据结构)(附模板题AcWing 841 字符串哈希)

    核心思想: 将字符串看成P进制数,P的经验值是131或13331,取这两个值的冲突概率低. 小技巧: 取模的数用2^64,这样直接用unsigned long long存储,溢出的结果就是取模的结果. ...

  4. 匈牙利算法——最大匹配问题详解(附模板题)

    基本概念转自  https://blog.csdn.net/dengheCSDN/article/details/77619308 匈牙利算法是由匈牙利数学家Edmonds于1965年提出,因而得名. ...

  5. ~~朴素dijkstra算法 (搜索与图论)(附模板题AcWing 849. Dijkstra求最短路 I)

    模板 时间复杂是 O(n2+m), n表示点数,m 表示边数 int g[N][N]; // 存储每条边 int dist[N]; // 存储1号点到每个点的最短距离 bool st[N]; // 存 ...

  6. ~~一般哈希(数据结构)(附模板题AcWing 840 模拟散列表)

    (1) 拉链法 int h[N], e[N], ne[N], idx;// 向哈希表中插入一个数 void insert(int x) {int k = (x % N + N) % N;e[idx] ...

  7. ~~堆(数据结构)(附模板题 AcWing 838. 堆排序)

    模板 // h[N]存储堆中的值, h[1]是堆顶,x的左儿子是2x, 右儿子是2x + 1 // ph[k]存储第k个插入的点在堆中的位置 // hp[k]存储堆中下标是k的点是第几个插入的 int ...

  8. ~~队列(数据结构)(附模板题 AcWing 829. 模拟队列)

    1. 普通队列: // hh 表示队头,tt表示队尾 int q[N], hh = 0, tt = -1;// 向队尾插入一个数 q[ ++ tt] = x;// 从队头弹出一个数 hh ++ ;// ...

  9. ~~二维差分(附模板题)

    模板 给以(x1, y1)为左上角,(x2, y2)为右下角的子矩阵中的所有元素加上c: S[x1, y1] += c, S[x2 + 1, y1] -= c, S[x1, y2 + 1] -= c, ...

最新文章

  1. awt简单应用 panel面板
  2. java 多线程,及获取线程执行结果
  3. Kubernetus自传
  4. 【BZOJ1485】[HNOI2009]有趣的数列(组合数学)
  5. C++普通引用和常引用
  6. OpenGL uniform变量赋值的三种方法
  7. http协议的各类状态码
  8. python遥感影像分类代码_Python 实现遥感影像波段组合的示例代码
  9. SQL语句中的rank () over , row_number() over ,rank_dense ()
  10. shell初学之PHP
  11. 反向代理分离资源服务器分析
  12. 解读中国版新资本协议
  13. 爱可信携手Marvell展示爱可信Linux平台
  14. 1055: 兔子繁殖问题
  15. Java面试宝典(2018版)
  16. Ubuntu18.04 搜狗输入法安装(史上最好用的输入法安装方法)
  17. idea读取文件时的路径问题
  18. 关于IIC中的SDA SCL输入输出模式
  19. 用c语言编程写出杨辉三角,用C语言编写杨辉三角
  20. 操作系统真象还原第5章:保护模式进阶,向内核进阶

热门文章

  1. DirectX9.03D Direct3D初始化
  2. 1038. Jewels And Stones
  3. 18.9.22 考试总结
  4. 码表的理解(ASCII,GBK,Unicode,UTF-8等)。
  5. android摄像头的autoFocus-----循环自动聚焦的实现
  6. ABySS非root权限安装
  7. Android日期格式化
  8. springmvc细节篇
  9. 提醒:安装MS11-100 .NET Framework高危漏洞补丁一定要所有服务器一起安装
  10. 忘记VSS admin密码了