塔塔拿到了一个长度为n的数组a,下标从1开始,q次询问(op,l,r)。
op=1, 计算al & al+1 | al+2& al+3| al+4...ar, 的值。以&开始,交替 &|。
给定一个长度为n的数组a和q次查询,每次查询有三种操作:
对于查询(op=1),从al开始,依次交替进行按位与(&)和按位或(|)运算,直到ar。 对于查询(op=2),从al开始,依次交替进行按位或(|)和按位与(&)运算,直到ar。 每次查询后输出计算结果。
使用位运算和预处理:
因为每个元素都是小于 2^30 的整数,可以将每个元素看成30位的二进制表示,并按位分别处理每一位的 & 和 | 运算。