标签:class href code iss source math -o inline 数据
首先考虑
不放文章里了,不讲 wood 的偷袭怪 @【数据删除】 耗子尾汁。
这题不难,但是蒟蒻想要介绍两种方法。
这是一个有关数颜色的问题,直接树上莫队。
在莫队上分块,对于每一个块维护可能成为答案的数的队列。
修改的时候更改 \(cnt\) 数组,如果模 \(2\) 为 \(1\),那么就丢进这个颜色所属的块的队列内。
查询的时候,对于查询区间内的每一个块的队列,如果队头是满足条件的,那么就找到了一个答案;否则弹出队头。散块暴力即可。
时间复杂度 \(\Theta(n \sqrt m)\)
喜提最劣解。
这个出现奇数次可以用异或来处理。
如果对于每一个元素,进行随机赋值。我们查询树上 \(u\) 到 \(v\) 上,编号在 \(l\) 到 \(r\) 的权值异或和,如果是 \(0\) 那么我们就认为答案是 -1
。
然后我们进行二分答案,查询一下 \([l, mid]\),如果异或和不是 \(0\) 就在 \([l, mid]\) 往下做,否则 \([mid + 1, r]\) 的异或和一定不是 \(0\),在 \([mid + 1, r]\) 往下做。
这个可以主席树维护。由于这是主席树,我们可以直接在主席树上二分。
喜提最优解。
标签:class href code iss source math -o inline 数据
原文地址:https://www.cnblogs.com/zkyJuruo/p/14392030.html