关于树状数组区间最值

学术版

ppip @ 2022-07-16 23:00:17

我想到建两棵树状数组,一棵前缀,一棵后缀,对于正常的树状数组这么写:

while(r-l>=lowbit(r)) ans=max(ans,c[r]),r-=lowbit(r);

后缀树状数组反着写,最后比较一下两个值。

我发现,无论询问什么区间,这两个值都完全覆盖查询区间,并且没有重叠

有没有办法证明或理解它?


by irris @ 2022-07-16 23:03:47

zkw 线段树(?)


by hly1204 @ 2022-07-17 03:16:48

http://ioinformatics.org/oi/pdf/v9_2015_39_44.pdf 这里已经说了


|