题意 一个数列\(A\),数的范围均在\([0, 2^N-1]\)内,求一个\(B\),使得新生成的数列\(C\)中逆序对最多(\(C_i = A_i xor B\)),输出最多的逆序对.(\(|A|<=10^5\)) 分析 这种题当然要逐位考虑..考虑到二进制和xor,我们需要想到trie... 题解 将数列插入到一棵trie,我们在每一个层记录一个信息,表示\(B\)在这一层取\(0\)或取\(1\)新增的逆序对数,然后统计答案即可. 而由于是xor操作,所以很好统计,我们可以每插入一个数就…