加载中...

3.8 —— cf div2 848 E(线性基合并)

E. The Tree Has Fallen!

快开学了,尝试恢复每日一题 day1。

做法看 cup-pyy 大佬的题解即可,这里主要记录一下线性基合并相关的知识。

线性基本质上就是某个数集的一个大小为 \(O(二进制位数) = O(\log)\) 的规模很小的集合。可以利用这个集合高效地处理出原集合有关异或的很多信息(比如子集异或最值等)。

直接往已知线性基中插入某个数,可以 \(O(\log)\) 实现,这个我们都会。

同样地,我们也可以快速实现合并两个集合的线性基,进而得到两个集合合并后的大集合的线性基 —— 只需要将其中一个集合的线性基中的 \(O(\log)\) 个元素均插入到另一个集合的线性基就可以了,复杂度 \(O(\log^{2})\)

code

posted @ 2026-03-08 21:21  小橘奏  阅读(10)  评论(0)    收藏  举报