当前位置: 首页 > 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 即可。

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

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

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

如何构造?

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

相关文章:

  • 强制缓存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 权限
  • 杭州小红书代运营公司-品融电商:专业赋能品牌社交增长
  • 大家聊中国式现代化|陶希东:打造高水平安全韧性城市,给群众看得见的安全感
  • 加拿大温哥华发生驾车冲撞人群事件,加拿大总理发声
  • 商务部:将打造一批国际消费集聚区和入境消费友好商圈
  • 2025年两院院士增选工作启动,名额均不超过100名
  • 上海银行一季度净赚逾62亿增2.3%,不良贷款率与上年末持平
  • 上海市长会见璞跃全球创始人亚美迪,建设国际AI创新创业网络中心节点