Logo ryp 的博客

博客

CF1515H Phoenix and Bits 分析

...
ryp
2025-12-01 12:50:24
She's not square

本文章由 WyOJ Shojo 从洛谷专栏拉取,原发布时间为 2024-08-11 20:34:46

我们考虑异或操作怎么做。

显然的,放到 Trie 上头按位考虑,那么实际上就是交换了每一个 $x$ 为一的位对应的子树,打标记就可以了。

这个标记需要存储的是所异或的 $x$,并且在每次 push_down 时,要一直下放整条链。

注意到 $A$ 与 $B$,等于 $\overline A$ 或上 $\overline B$ 的补,也就是只要有一个位置为零,这一位就是零。所以我们就解决或操作就好了。

或上 $x$,就是说如果某一位 $x$ 为一,这一位对应的 $0$ 子树就要合并到 $1$ 子树上头。如果这个子树是满的,我们就暴力合并;否则,就要打标记。

留着之后写吧。

评论

暂无评论

发表评论

可以用@mike来提到mike这个用户,mike会被高亮显示。如果你真的想打“@”这个字符,请用“@@”。