从 x 到 y 的索引中打印 XOR 元素(XOR Range)

print XOR elements from the indices ranging from x to y (XOR Range)

如果我有一些像 [2,6,2,9,7,4] 这样的数组,我发现从左到 right.it 的给定范围的 Xor 将适用于小输入但给出大输入的时间复杂度错误。

#Python Code for Xor Range

from functools import reduce
from operator import xor
arry=[2,6,2,9,7,4]
print(reduce(xor,arry[left:right]))

请帮助解决较大输入(如 10^9)的时间复杂度错误。problem link

ress = [0]
rese = [0]
b=input().split()
if b[0]=='1':
  ress.append(ress[-1]^int(b[1]))
elif b[0]=='2':
  rese.append(rese[-1]^int(b[1]))
else:
  l = int(b[1])
  r = int(b[2])
  n = len(ress)-1
  val = 0
  if l <= n:
    val ^= ress[n-l+1]
  else:
    val ^= rese[l-n-1]
  if r<=n:
    val ^=ress[n-r]
  else:
    val ^=rese[r-n]
    print(val)