总结

数组不变,求区间和:「前缀和」、「树状数组」、「线段树」
多次修改某个数(单点),求区间和:「树状数组」、「线段树」
多次修改某个区间,输出最终结果:「差分」
多次修改某个区间,求区间和:「线段树」、「树状数组」(看修改区间范围大小)
多次将某个区间变成同一个数,求区间和:「线段树」、「树状数组」(看修改区间范围大小)
链接:https://leetcode-cn.com/problems/range-sum-query-mutable/solution/guan-yu-ge-lei-qu-jian-he-wen-ti-ru-he-x-41hv/

树状数组讲解https://www.bilibili.com/video/BV1pE41197Qj?spm_id_from=333.337.search-card.all.click

树状数组每个节点x的长度就是lowbit的值,下标x节点的父节点为x + lowbit(x)

307. 区域和检索 - 数组可修改