【发布时间】:2023-03-28 08:05:01
【问题描述】:
给定一个整数列表。
我想知道是否可以在每个查询的 O(1) 和前提的 O(n) 的段上计算按位或? (一些前缀和)(对于每个查询 O(log n) 和 O(n log n) 的前提,这样做很容易,例如,使用段树,但什么更快?)
【问题讨论】:
-
什么意思?给定一个整数或布尔值列表,您需要特定子段的
or(逻辑或按位),例如a[3] | a[4] | a[5]?可以举个例子吗? -
整数列表。按位或
-
我还可以想出一种方法,每个查询 O(logn) 和 O(nlogn) 预处理,通过累积为列表中的所有值设置每个位的频率,然后检查哪个上限数字中的值高于下限。不要认为每个查询都有 O(1) + O(n) 预处理的方法。
标签: algorithm data-structures prefix-sum