link
这个题很有趣啊。
设答案为 a,b,交互次数小于 19,是 2log2n−1,考虑如何在两次 log 的询问求出答案。
仔细思考一下,发现可以对每一位是 1 和每一位是 0 的分一组,这样可以求出 a,b 的异或和 c。
若 c 的 k 位为 1,钦定 a 的第 k 位为 1,对于所有 i≠k,将 [1,n] 中第 i 位和第 k 位均为 1 的数拿出来询问。若返回 1,说明 a 的第 i 位是 1,否则 a 的第 i 位是 0。
求出 a 和 a⊕b 后,b 也知道了,询问次数恰好是 2log2n−1。
sto
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话