问题描述
在想出一个数据结构来回答这个问题时需要一些帮助。目的是对数组执行以下类型的Q查询:
- 类型1:给定L和R,返回
- 类型2:使用值val更新位置idx
如何有效回答这些查询?天真的方法是n ^ 2。我一直在考虑保持累积和,因为A_j不在上式的总和中。
解决方法
This是您要寻找的。 p>
,Fenwick树或二进制索引树是一种可以 有效地更新元素并计算表中的前缀和 数字。
full_data.query("fruity == 1 and hard == 0",inplace=False)['winpercent']
,Segment Tree
和Fenwick Tree
是有用的数据结构,可以更好地解决时间复杂性问题。 (比n ^ 2快)。