BSOJ2064口胡

我甚至以为 \(O(n\log n\log V)\) 能把这题草过去

这种东西一看就很势能。。。两只 log 的做法就是对每一位开一个 ODT,然后变成区间加区间最值。

仔细想想,取 or 和 and 相当于是高维的 max 和 min,搞不好可以用区间取 min 和 max 那一套来维护。

那一套需要维护最值和次最值。但是这道题的值域只有 \(2\),所以我们只需要维护有哪些维度是相同的,以及这些维度的值是多少。

当然还是得维护最小值。。。

接下来就是很暴力的部分了。。。如果一个节点相同的维度会和需要对 \(0\) 取 min 或者和 \(1\) 取 max 的维度并起来是全集,那就可以直接暴力打标记了,否则就继续往下搜。

复杂度应该和上面是一样的,但是常数会变小。。。

自求多福吧()

posted @ 2022-04-26 09:12  Prean  阅读(21)  评论(0编辑  收藏  举报
var canShowAdsense=function(){return !!0};