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

CF2096G Wonderful Guessing Game 构造

题解

首先考虑没有 ? ? ? 回答的时候,答案是多少。

猜猜需要多少个询问。

⌈ log ⁡ 2 n ⌉ ? ⌈ log ⁡ 3 n ⌉ ? \lceil \log_2n\rceil ? \lceil \log_3n\rceil ? log2n⌉?log3n⌉?

可以构造一个表,行表示不同的询问,列表示不同的元素,每个格子表示该元素如果是答案,在这个询问下应该有的回答。

例如:

在这里插入图片描述
假如我们令 R R R 为 1 , L L L − 1 -1 1 N N N 为 0 .

那么我们实际上要往这个表中填入三种数字,使得任意两列不完全相同,而且每行的和为 0 0 0

怎么构造?

每次选出 ( x 1 , x 2 , . . . , x k ) (x_1,x_2,...,x_k) (x1,x2,...,xk) 时,将 ( − x 1 , − x 2 , . . . , − x k ) (-x_1,-x_2,...,-x_k) (x1,x2,...,xk) 也加入其中即可,其中 k k k 为行数。

注意 ( 0 , 0 , . . . , 0 ) (0,0,...,0) (0,0,...,0) 比较特殊,而且要保证不能有重复选择的 k k k 元组。

这个也比较简单,保证每个枚举元组的前缀 0 后第一个元素是 1 即可。

可是现在要选择一个询问进行忽视。

那么说明我们构造的这个表格有一行会直接被标为空,相当于对于任意两列,都有至少两个位置不相同。

显然我们需要一定要增加一个询问,证明可以通过信息熵的角度来证明。

如何构造?

也就是我们要加一次询问(一行),尝试让原来两列相差恰好一个元素的变成相差两个元素。一个非常直观的想法就是在每一列的最后都加上该列模三意义下的和。

http://www.dtcms.com/a/160336.html

相关文章:

  • 强制缓存vs协商缓存
  • 2025系统架构师---黑板架构风格
  • element通过业务按钮点击导入,调用el-upload的导入方法
  • 日本IT|UIUX主要的工作都是哪些?及职业前景
  • 关于PyQt5信号槽机制的解析
  • Spring AOP 详解
  • ARCGIS PRO 在地图中飞行
  • (done) 吴恩达版提示词工程 9. 总结 (就是复述一遍前面的内容,以及建议你基于LLM开发应用程序)
  • 8、HTTPD服务--CGI机制
  • linux两个特殊的宏 _RET_IP_ 和_THIS_IP_ 实现
  • 第15节:传统分类模型-K近邻(KNN)算法
  • 【文献速递】snoRNA-SNORD113-3/ADAR2通过对PHKA2的A-to-I编辑影响胶质母细胞瘤糖脂代谢
  • Nginx配置文件介绍
  • 创建一个springboot的项目-简洁步骤
  • 【前端基础】viewport 元标签的详细参数解析与实战指南
  • 【项目实训个人博客】multi-agent调研(1)
  • DES密码系统的差分分析
  • DLNA 功能
  • LINUX427 冒险位 粘滞位 chmod 权限
  • 杭州小红书代运营公司-品融电商:专业赋能品牌社交增长
  • Leetcode837.新21点
  • OpenCV彩色图像分割
  • 突破常规:探索无 get 方法类设计的独特魅力
  • 互联网大厂Java面试实录:从Spring Boot到微服务架构的技术问答
  • 硬件工程师面试常见问题(9)
  • 使用 Cherry Studio 调用高德 MCP 服务
  • 【SpringMVC文件上传终极指南:从基础配置到云存储集成】
  • 一、对printk的使用记录
  • 北峰专业数字集群通信系统:构建消防指挥调度的智能化基石
  • 游戏遭遇DDoS攻击如何快速止损?实战防御策略与应急响应指南