题型特征
维护区间信息,需要对每个左端点重新构造情况,不可通过前缀和差分。
一般方法
对左端点排序,处理每一个含有这个左端点的区间询问,并移动左端点。保证了左端点最多经历len 次修改。
题意描述
T组询问,每组询问要求区间[L,R] 中出现次数为偶数的数的异或和。
T=2×105,n=5×105。
正解
Ans=⨁i∈[L,R],a[i]出现次数为偶数次ai
=⨁i∈[L,R]ai⊕⨁i∈[L,R],满足∀j∈[L,i),a[i]≠a[j]ai
前缀和处理前面一部分,现在看后面一部分。
对以左端点为第一关键字,右端点为第二关键字从大到小排序。
对于一个确定的左端点,假设将其之后的序列构造为:对于的任何一个数k,将其之后的序列中的k改为0。则第二部分就可以通过维护区间和求出。
考虑左移左端点的修改。在区间[L2,L1)中,若一个数已经出现,则将之前的数改为0,加入当前的数。
操作包括单点修改,区间查询,用线段树实现。