尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Anti-Proxy Attendance 题解

Anti-Proxy Attendance 题解
📅 发布时间:2026/6/18 23:48:19
CF1924F 题解

题目传送门:CF1924F

还是第一次见这种势能题。
先把交互库的回答转成 \(0,1\) 表示答案是否在这个区间中。
首先把题目转化一下,对每个位置 \(i\) 维护一个 01 串 \(S_i\) 表示:如果 \(i\) 是答案,那么当前交互库的每个回答是否是真话。即如果当前询问 \([l,r]\) 交互库的回答是 1 就往 \(S_i (i\in [l,r])\) 的末尾插入 1,在 \(S_j (j \in [1,l) \cup (r,n])\) 的末尾插入 0。
那么如果某个 \(S_i\) 的末尾出现连续 \(3\) 个一样的数他就不可能是答案了。
显然对于每个 \(S_i\) 我们只需要维护他是否已经死了以及他的最后两位。
考虑给每个串附一个势能,一个局面的势能为所有串的势能之和。那么对于已经死了的串势能就是 \(0\);由于对称性,00 和 11 的势能应该是一样的,不妨设势能为 \(1\);同样的,01 和 10 的势能也是一样的,假设为 \(x\)(目前还不确定)。
那么初始局面的势能 \(E_{begin}\) 最多是 \(nx\),有解的必要不充分条件为最终局面的势能 \(E_{end}\in [2,2x]\)。
不妨列一下对于不同种类的串,在末尾加一个 0 或 1 之后势能的变化:(\(E\) 代表原势能,\(E_0\) 代表加 0 之后的势能,\(E_1\) 同理)

00 01 10 11
\(E_0\) \(0\) \(x\) \(1\) \(x\)
\(E_1\) \(x\) \(1\) \(x\) \(0\)
\(\frac{E_0+E_1}{E}\) \(x\) \(\frac{x+1}{x}\) \(\frac{x+1}{x}\) \(x\)

我们希望每次询问之后势能可以稳定减少从而保证操作次数,那么有两种基本想法:每次稳定减少一个值或者每次乘上一个值。前者不太可能,我们考虑后者。
那么首先我们需要让任意串的 \(\frac{E_0+E_1}{E}\) 相同,否则交互库可以尝试尽可能地构造大的那种串,即 \(x=\frac{x+1}{x}\) 解得 \(x=\frac{1+\sqrt{5}}{2}\)。
此时由于每个串都满足 \(\frac{E_0+E_1}{E}=x\),那么整个局面也必然满足 \(\frac{E_0+E_1}{E}=x\),下面的 \(E_0,E_1,E\) 均指整个局面的,设 \(E'\) 为加入一个字符后局面的势能。
因为 \(E_0+E_1=xE\),交互库肯定希望 \(E'\) 尽可能大所以他的回答会让 \(E'=\max(E_0,E_1)\ge \frac{x}{2} E\),也就是说我们每次至多让势能变成原来的 \(\frac{x}{2}\)。
所以当 \(E_0\) 和 \(E_1\) 足够接近,那么我们每次就能让 \(E'\approx \frac{x}{2} E\)。
也就达到了理论最优操作次数 \(\log_{\frac{2}{x}}(E_{begin})-\log_{\frac{2}{x}}(E_{end})\)。

我们现在考虑如何选择每次询问的区间能使得 \(E_0\) 和 \(E_1\) 足够接近。
注意到对于那些已经死了的位置势能不再变化可以不去管他,设 \(\Delta E_i\) 表示选择前缀 \(i\) 进行询问,\(E_0-E_1\) 的值,\(\Delta E_{\emptyset}\) 则表示询问空集(即询问的前缀不包含任何没死的位置,虽然可能不存在这样的前缀,但这并不影响我们之后的分析),显然 \(\Delta E_n=-\Delta E_{\emptyset}\),因为每个串的势能都取反了。
考虑 \(i\) 变成 \(i-1\) 的时候,最多只有一个串的 \(E_0-E_1\) 发生了变化/取反,所以 \(|\Delta E_i - \Delta E_{i-1}|\) 是 \(O(1)\) 的。
如果 \(E_n=0\) 那么我们直接询问整个串即可,否则由于 \(\Delta E_n=-\Delta E_{\emptyset}\),函数图像必过 \(x\) 轴,又因为相邻两点的变化是 \(O(1)\) 的,所以我一定可以找到一个 \(i\) 使得 \(\Delta E_i=O(1)\),也即询问前缀 \([1,i]\) 就满足我们的需求。

最后我们再进一步分析一下初始的势能 \(E_{begin}\)。
设第一次询问的区间为 \(A\),第二次询问的区间为 \(B\),设 \(a\) 为同时属于 \(A,B\) 的位置个数加上同时不属于 \(A,B\) 的位置个数,\(b\) 为属于 \(A\) 但不属于 \(B\) 的位置个数加上属于 \(B\) 但不属于 \(A\) 的位置个数。那么如果第一次和第二次的回答相同,初始势能为 \(a+xb\),否则初始势能为 \(b+ax\),交互库会选择其中大的那一个,而由于 \(x>1,\max(a,b) \ge \lceil \frac{n}{2} \rceil\) 故初始势能必定 \(\ge \lceil \frac{n}{2} \rceil (1+x)\)。我们分别询问 \([1,n]\) 和 \([1,\lfloor \frac{n}{2} \rfloor]\) 即可达到这个下界。

我们最终的最坏操作次数大约是 \(\log_{\frac{2}{x}} n+C\),其中 \(C\) 是一个小常数,但是由于 \(\frac{4}{1+\sqrt{5}}\approx 1.236\),而 \(\log_{1.236} N=54\) 远小于 \(\log_{1.116} N = 104\),所以是随便过的。

相关新闻

  • 【2024-2025第二学期】助教工作总结
  • 开始每小时记录日程
  • MySQL数据库:SQL数据类型

最新新闻

  • DC/DC电源设计实战:从MIC261201选型到PCB布局与热管理全解析
  • 2026济南婚纱摄影选型全指南:行业标准、品牌梯队与合规避坑全解析 - 速递信息
  • 杭州想带毛孩子回家?梦宠山庄等4家门店值得逛逛 - 园友3800037
  • 西安资质代办去哪里靠谱?2026本土合规企业服务机构榜单 - 速递信息
  • 端午充电季|乘风破浪,技能进阶正当时
  • 武汉想养猫狗先看看,梦宠山庄探店记录 - 园友3800037

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号