【区间求和】——前缀和、树状数组、差分、线段树
学过前缀和、差分、树状数组,
但是,没有系统性学习过,今天遇到个差分的题给整神了,用树状数组能解但是写不出来(无能狂怒)。
【于是系统性学习来了】
总结一下:
数组 不变,区间查询:前缀和、树状数组、线段树。
数组单点修改,区间查询:树状数组、线段树。
数组区间修改,单点查询:差分、线段树。
数组区间修改,区间查询:线段树。
【差分】可以看作是求【前缀和】的逆向过程——b[i]=a[i]-a[i-1],a[i]=sum(b[0],b[i])
这里就只编辑结论,技巧or经验之谈,四种区间处理分开编辑。
学习链接在这里。
--------------------------------------------------------------------------------------------
前缀和【传送门】
树状数组【传送门】
差分【传送门】
线段树【传送门】
【Over】

浙公网安备 33010602011771号