![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
差分数组
文章平均质量分 75
是小怪兽啊
失败总是贯穿人生始终
展开
-
RMQ算法
什么是RMQ?RMQ指的是求一个区间的某个数值(例如:最大值,最小值…)首先还是要先推数学公式设a[i]是要求区间最值的数列,F[i, j]F[i,j]表示从第i个数起连续2^j个数中的最大值。(DP的状态)例如: a数列为:3 2 4 5 6 8 1 2 9 7F[1,0]表示第1个数起,长度为2^0=1的最大值,其实就是3这个数。同理 F[1,1]=max(3,2)=3,F[1,2]=max(3,2,4,5) = 5 F[1,3] = max(3,2,4,5,6,8,1,2) = 8;并且原创 2021-07-13 17:17:44 · 164 阅读 · 0 评论 -
差分数组浅析
什么是差分数组?简单的来说,你有一个原始数组,而差分数组就是你原始数组的每一个数减上一个数假设有原始数组a[10],差分数组b[10]那么就有for(int i=1;i<10;i++){ b[i]=a[i]-a[i-1];}因为我们是从b[1]开始,所以要设个a[0]=0,而且a中的值是从a[1]开始存储差分数组有什么用?当我们要对一个区间进行修改,那么差分数组的作用一定就是求多次进行区间修改后的数组为什么要用差分数组?举个栗子我们不难发现当一个区间同时加减一个数时,差分数原创 2021-06-07 16:24:58 · 132 阅读 · 0 评论