首页 > 编程知识 正文

差倍问题解析,差分方程解法总结

时间:2023-05-05 23:31:10 阅读:147138 作者:4517

差异分配列1 .定义:差异分配列是一组表示数组中两个相邻元素之间差异的数组

对于已知具有n个要素的离线数列d,可以制作记录各个项和上一项的差分的差分分配列f。 很明显,f[1]=d[1]-0=d[1]; 对于整数i[2,n],设为f[i]=d[i]-d[i-1]。

图:

b列的数组是原始数组,d列的数组是b的差分配列。

2 .与前缀的计算:如图:

b是原始数组,d是差分配列,f是前缀和

从图中可以看到:

F1=D1

F2=D1 D1 D2

F3=D1D1D2D3

.

如果计算数列各项前缀之和,则第I项前缀之和成为数列前面I项之和,可知导出

可以用差分配列求出数列的前缀和。

3 .差分配序列应用:该方法适用于区间频繁修改,且该区间范围较大的离线查询。

差分配列的实现很简单。 这里不怎么说明。 是简单的要素减法。

4 .求解差分配序列前缀和一维序列重叠区间时的应用: b :序列中第一个复盖的区间[1 - 7]

D:数组中第二个复盖的区间[10 - 18]

F:数组中第三个复盖的区间[16 - 25]

h :差分配列:将所选区间的起始位置设定为1,将所选区间的结束位置设定为-1

J:差分配序列的前缀和

可以看到,前缀表示数组中的每个元素在区间中被复盖的次数,如果数字=0,则表示该数字在区间中未被选择

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。