前缀和与差分 图文并茂 超详细整理(全网最通俗易懂)
先来了解这样一个问题:输入一个长度为的整数序列。接下来再输入个询问,每个询问输入一对, 。对于每个询问,输出原序列中从第个数到第个数的和。我们很容易想出暴力解法,遍历区间求和。代码如下:12345678910111213141516 这样的时间复杂度为,如果和的数据量稍微大一点就有可能超时,而我们如果使用前缀和的方法来做的话就能够将时间复杂度降到,大大提高了运算效率。具体做法:首先做一个预处理,定义一个数组,代表数组中前个数的和。求前缀和运算:123456 然后查询操作:12 对于每次查询,只需执行
转载
2023-11-10 21:17:50 ·
117 阅读 ·
0 评论