BSOJ2064口胡
我甚至以为 \(O(n\log n\log V)\) 能把这题草过去
这种东西一看就很势能。。。两只 log 的做法就是对每一位开一个 ODT,然后变成区间加区间最值。
仔细想想,取 or 和 and 相当于是高维的 max 和 min,搞不好可以用区间取 min 和 max 那一套来维护。
那一套需要维护最值和次最值。但是这道题的值域只有 \(2\),所以我们只需要维护有哪些维度是相同的,以及这些维度的值是多少。
当然还是得维护最小值。。。
接下来就是很暴力的部分了。。。如果一个节点相同的维度会和需要对 \(0\) 取 min 或者和 \(1\) 取 max 的维度并起来是全集,那就可以直接暴力打标记了,否则就继续往下搜。
复杂度应该和上面是一样的,但是常数会变小。。。
自求多福吧()