题意
给出一个长度为n的由小写字母组成的字符串,每次询问一个区间内有多少连续子串重新排列后可以得到一个回文串。
n,q<=60000
分析
恩我们考虑给每种颜色一个权值,那么一个连续子串可以组成回文串当且仅当其异或值为0或为某种颜色的权值。
知道这点我们就很好做了。
考虑用莫队。
维护一个桶,表示所有后缀的异或值。再设置一个总体异或值,表示桶内的元素都要异或上这个值,然后就可以 O(26) 修改了。
如果要修改前缀的话就把全部后缀异或上整个区间再随便改点东西就可以得到前缀了。
时间复杂度 O(26n