社区讨论
关于树状数组区间最值
学术版参与者 3已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @lo8k6nlq
- 此快照首次捕获于
- 2023/10/27 19:57 2 年前
- 此快照最后确认于
- 2023/10/27 19:57 2 年前
我想到建两棵树状数组,一棵前缀,一棵后缀,对于正常的树状数组这么写:
CPPwhile(r-l>=lowbit(r)) ans=max(ans,c[r]),r-=lowbit(r);
后缀树状数组反着写,最后比较一下两个值。
我发现,无论询问什么区间,这两个值都完全覆盖查询区间,并且没有重叠。
有没有办法证明或理解它?
回复
共 2 条回复,欢迎继续交流。
正在加载回复...