一维前缀和(附模板题)
模板
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;
}
一维前缀和(附模板题)相关推荐
- 一维差分(附模板题)
模板 B[i]=a[i]-a[i-1] 给区间[l, r]中的每个数a[]加上c:B[l] += c, B[r + 1] -= c(结合下方例题理解) 题目 传送门:797. 差分 输入一个长度为n的 ...
- 二维前缀和(附模板题)
模板 S[i, j] = 第i行j列格子左上部分所有元素的和 以(x1, y1)为左上角,(x2, y2)为右下角的子矩阵的和为: S[x2, y2] - S[x1 - 1, y2] - S[x2, ...
- ~~字符串哈希(数据结构)(附模板题AcWing 841 字符串哈希)
核心思想: 将字符串看成P进制数,P的经验值是131或13331,取这两个值的冲突概率低. 小技巧: 取模的数用2^64,这样直接用unsigned long long存储,溢出的结果就是取模的结果. ...
- 匈牙利算法——最大匹配问题详解(附模板题)
基本概念转自 https://blog.csdn.net/dengheCSDN/article/details/77619308 匈牙利算法是由匈牙利数学家Edmonds于1965年提出,因而得名. ...
- ~~朴素dijkstra算法 (搜索与图论)(附模板题AcWing 849. Dijkstra求最短路 I)
模板 时间复杂是 O(n2+m), n表示点数,m 表示边数 int g[N][N]; // 存储每条边 int dist[N]; // 存储1号点到每个点的最短距离 bool st[N]; // 存 ...
- ~~一般哈希(数据结构)(附模板题AcWing 840 模拟散列表)
(1) 拉链法 int h[N], e[N], ne[N], idx;// 向哈希表中插入一个数 void insert(int x) {int k = (x % N + N) % N;e[idx] ...
- ~~堆(数据结构)(附模板题 AcWing 838. 堆排序)
模板 // h[N]存储堆中的值, h[1]是堆顶,x的左儿子是2x, 右儿子是2x + 1 // ph[k]存储第k个插入的点在堆中的位置 // hp[k]存储堆中下标是k的点是第几个插入的 int ...
- ~~队列(数据结构)(附模板题 AcWing 829. 模拟队列)
1. 普通队列: // hh 表示队头,tt表示队尾 int q[N], hh = 0, tt = -1;// 向队尾插入一个数 q[ ++ tt] = x;// 从队头弹出一个数 hh ++ ;// ...
- ~~二维差分(附模板题)
模板 给以(x1, y1)为左上角,(x2, y2)为右下角的子矩阵中的所有元素加上c: S[x1, y1] += c, S[x2 + 1, y1] -= c, S[x1, y2 + 1] -= c, ...
最新文章
- awt简单应用 panel面板
- java 多线程,及获取线程执行结果
- Kubernetus自传
- 【BZOJ1485】[HNOI2009]有趣的数列(组合数学)
- C++普通引用和常引用
- OpenGL uniform变量赋值的三种方法
- http协议的各类状态码
- python遥感影像分类代码_Python 实现遥感影像波段组合的示例代码
- SQL语句中的rank () over , row_number() over ,rank_dense ()
- shell初学之PHP
- 反向代理分离资源服务器分析
- 解读中国版新资本协议
- 爱可信携手Marvell展示爱可信Linux平台
- 1055: 兔子繁殖问题
- Java面试宝典(2018版)
- Ubuntu18.04 搜狗输入法安装(史上最好用的输入法安装方法)
- idea读取文件时的路径问题
- 关于IIC中的SDA SCL输入输出模式
- 用c语言编程写出杨辉三角,用C语言编写杨辉三角
- 操作系统真象还原第5章:保护模式进阶,向内核进阶