擅长:python、mysql、java
<p>条件<code>(X+1) = (X^1)</code>只意味着<code>X</code>必须是偶数。所以只需使用前缀xor计数来计算偶数xor。需要O(n)个时间和O(1)个空间</p>
<pre><code>def getTotalXorOfSubarrayXors(A, _):
X = 0
counts = [1, 0]
total = 0
for a in A:
X ^= a & 1
total += counts[X]
counts[X] += 1
return total
</code></pre>
<p><a href="https://tio.run/##lVLBboMwDL3zFT6tIDgkmiZNSBz6A@1hOyChgRgEmkITZMKkfj0LhEGQqk3LJbGfn/1sp7urixTPrx2OY4XyBpiLUl/81klUUFwkL1jvOCWroGbqXaq8jSWeq7fhM0fM79roM4m85iJvXe0K4OSFDugTQwRkfhVyEGq1KonAgYupVs1csjEMdt0wbmMGbXboFXygVoSpGkMKWkrSfKwAryD2KUQaTKkVb6T5EXXsBEYoMjWgMCF/jMA9BpA97rvXZkIDIEaMmvi7WeRTR8fQEpBG2vkEmyZD8qMlYxJvja2eCaa27pnkOFOJbBvay6JSS9cqlgW7BqPEC6CJKCHeHHPSES0T01qNo0MulHv42Xd4CP7xK3Yp9AdD@cXKX1M8Ynrj@A0" rel="nofollow noreferrer" title="Python 3.8 (pre-release) – Try It Online">Try it online!</a>(带测试)</p>