(good)Xor-Subsequence: 好题目。问题有一个很巧妙的转化就是把
a
j
⊕
i
<
a
i
⊕
j
a_j \oplus i < a_i \oplus j
aj⊕i<ai⊕j转化成
[
a
j
⊕
j
=
a
i
⊕
i
]
0...
k
−
1
[a_j \oplus j = a_i \oplus i]_{0...k-1}
[aj⊕j=ai⊕i]0...k−1并且
[
a
j
]
k
⊕
[
i
]
k
<
[
a
i
]
k
⊕
[
j
]
k
[a_j]_k \oplus [i]_k < [a_i]_k \oplus [j]_k
[aj]k⊕[i]k<[ai]k⊕[j]k其中
[
]
k
[]_k
[]k代表二进制的第k位置。这样子就可以在
a
i
⊕
i
a_i \oplus i
ai⊕i上做前缀树了!