把博客园图标替换成自己的图标
把博客园图标替换成自己的图标end

题解 AT abc308_g

传送门

题意

m 个操作,分三个种类:

  1. 加入 x
  2. 删除 x
  3. 在现有的数中两个数的最小的异或值的。

分析

很明显,我们的难点在于计算,
我们可以得到这样的性质: 最小异或值,必然产生于两个相邻的数中。

证明:

设当前的数为 x,与其形成的最小异或值的值为 zzx 不相邻。
xz 必然是从某个位置(二进制位上)(令其为 id 位)开始不同,否则两个就是相同的数,也可以看做相邻。
继续分析,必然存在某个数在 xz 的中间,令这个数为 y
由于 xz 是从 id 位开始不同,所以他们的前几位必然都相同。
y 作为两个数之间的数,前几位也与其相同。
由于 yid 位必然为 01
因此 yid 位必然与 xz 相同,由此 min{yz,yx}<xz
由此必然产生于两个相邻的数。

至于代码,我们可以使用 set 维护。

posted @   djh0314  阅读(3)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
浏览器标题切换
浏览器标题切换end
点击右上角即可分享
微信分享提示