前缀和
前缀和有什么用?
前缀和是一种预处理,用于降低查询时的时间复杂度。 举个例子:给定 n 个整数,然后进行 m 次询问,每次询问求一个区间内值的和。
如果用暴力写法,那每次询问都需要从区间左端点循环到区间右端点求和,时间复杂度较大。
但是如果使用前缀和就可以将它降到O(n + m)
。
算法思想
795. 前缀和
输入一个长度为 n
的整数序列。
接下来再输入 m
个询问,每个询问输入一对 l, r
。
对于每个询问,输出原序列中从第 l
个数到第 r
个数的和。
输入格式
第一行包含两个整数 n
和 m
。
第二行包含 n
个整数,表示整数数列。
接下来 m
行,每行包含两个整数 l
和 r
,表示一个询问的区间范围。
输出格式
共 m
行,每行输出一个询问的结果。
数据范围
1 ≤ l ≤ r ≤ n
,1 ≤ n,m ≤ 100000
,-1000 ≤ 数列中元素的值 ≤ 1000
输入样例:
1 |
|
输出样例:
1 |
|
代码实现
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Phbeats-Blog!
评论