当前位置: 首页 > news >正文

P8491 [IOI 2022] 囚徒挑战

想起来应该是比较久之前的题了,通信题比较烦就不写代码了。

考察 \(m = n\) 咋办,那么第一个人进去看第一个袋子,写上黑板,那么第二个人看到黑板上的数不为 \(0\) 就知道自己应该查看第二个袋子,即可比较出大小。

这样比较浪费,考虑经典拆进制优化,从高到低比较二进制上每一位的大小,过程如下:

  • 一个囚犯看到黑板上写的数,会意识到上一个囚犯正在检查第 \(i\) 个袋子,第 \(j\) 位,以及第 \(i\) 个袋子的第 \(j\) 位是什么,那么这个囚犯将会打开另外一个袋子,此时它会意识到这个袋子的第 \(j\) 位与第 \(i\) 个袋子的第 \(j\) 位是否相同,不相同可以直接播报答案,否则的话,它会记录下第 \(j + 1\) 位的值是什么。

不难发现,由于每次位数加 \(1\),所以不用记录 \(i\),状态数即为 \(2 \times 13 = 26\)。由于这玩意的次数本质上是 \(b \log_b n\) 的,当 \(b\) 趋近于 \(e\) 时取到最小,所以让 \(b\)\(3\) 进制,可以做到 \(3 \times 8 = 24\)

思考最后两个囚犯,也就是最后一位能够减少两个状态数,所以上限又变成了 \(22\)

利用混进制可以做到 \(21\) 好像。

你发现,如果我目前查询到第一个袋子里的一个三进制前缀,可以确定这个袋子的上界以及下界是多少,如果上界都低于一半或者下界都高于一半就可以直接返回了,在低进制位下采用二进制可以做到更优,卡满了 \(20\) 通过。

http://www.jsqmd.com/news/527245/

相关文章:

  • FRCRN语音降噪工具实战案例:会议室录音去空调/键盘/人声交叠噪声效果展示
  • 微电网黑科技】两台三电平逆变器如何玩转线路阻抗差异?手把手拆解下垂控制核心代码
  • 5分钟搞懂多项式不可约性:从复数域到有限域的实战指南
  • 2026年品牌咨询公司推荐:从白牌到品类冠军靠谱品牌全案咨询与实效案例深度剖析 - 品牌推荐
  • Matlab电力电子仿真:alpha-Beta到dq变换模块的两种方式对比(附实例)
  • CH32X035 RISC-V USB游戏手柄固件设计与HID协议实现
  • 构建企业级TTS服务:ChatTTS-UI深度技术解析与5大核心优势
  • 破解精酿啤酒杀菌痛点:海志3S鲜酿保障体系如何守住风味与效率? - 速递信息
  • 一般人不敢动系列之—基于logback的日志“规范”和“脱敏”logback 的 MessageConverter类
  • 2025-2026年品牌咨询公司推荐:企业从白牌到品类冠军口碑咨询机构深度分析 - 品牌推荐
  • 保姆级教程:用OpenCV SGBM算法从双目图像生成彩色点云(附Python代码与参数调试心得)
  • 2026年企业选购指南与推荐方案:适合企业的招聘系统怎么选?
  • Yahoo,呵呵
  • 北京上门回收老药书古书,丰宝斋专项回收,守护民间医药古籍文脉 - 品牌排行榜单
  • SpringBoot 集成 Swagger2:从入门到生产环境最佳实践
  • 避坑指南:Windows 11 + RTX 4090深度学习环境配置中的常见错误及解决方案
  • OpenCore Legacy Patcher终极指南:让老旧Mac重获新生,安装最新macOS的完整方案
  • Qwen3-ForcedAligner在JavaScript中的Web应用集成
  • 靠谱的高压柱塞泵生产厂怎么找,结合价格该如何选择? - myqiye
  • STM32定时器实战:用TIM2实现精准1ms延时(标准库版)
  • Nunchaku FLUX.1 CustomV3应用案例:电商产品图自动生成实战分享
  • 别再折腾Docker了!用Xinference在Windows本地5分钟搞定ChatGLM3模型部署(附避坑指南)
  • 文本控制排版、有序无需排列 - -王心雨
  • 如何通过AGENTS.md提升AI代理协作效率?完整实践手册
  • 设计师必看!用ComfyUI-MuseTalk批量生成包装设计稿的保姆级教程
  • Foxit福昕PDF阅读器11.2.1版本安装避坑指南:从下载到配置的全流程解析
  • 保姆级教程:Windows10修改Users文件夹名称后如何同步注册表设置
  • 告别数据抖动!树莓派DHT11温湿度监测的5个稳定性优化技巧
  • 终极指南:免费体验Nintendo Switch游戏的完整方案
  • 基于springboot泰康社区居民健康管理系统设计与开发(源码+精品论文+答辩PPT等资料)