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

Anti-Proxy Attendance 题解

题目传送门: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\);由于对称性,0011 的势能应该是一样的,不妨设势能为 \(1\);同样的,0110 的势能也是一样的,假设为 \(x\)(目前还不确定)。
那么初始局面的势能 \(E_{begin}\) 最多是 \(nx\),有解的必要不充分条件为最终局面的势能 \(E_{end}\in [2,2x]\)
不妨列一下对于不同种类的串,在末尾加一个 01 之后势能的变化:(\(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\),所以是随便过的。

相关文章:

Anti-Proxy Attendance 题解

CF1924F 题解题目传送门:CF1924F 还是第一次见这种势能题。 先把交互库的回答转成 \(0,1\) 表示答案是否在这个区间中。 首先把题目转化一下,对每个位置 \(i\) 维护一个 01 串 \(S_i\) 表示:如果 \(i\) 是答案,那么当前交互库的每个回答是否是真话。即如果当前询问 \([l,r]…...

【2024-2025第二学期】助教工作总结

一、助教工作的具体职责和任务 路由交换技术的助教的具体职责在于课前配合老师发布预习任务,在同学预习存在困难时给予问题解答;课中主要帮助同学解决实验遇到的卡壳问题,帮助同学们更快更全面的掌握实验内容和相应的理论知识;课后批改同学的作业、实验报告,并且对课中未完…...

开始每小时记录日程

每小时记录一次做的事,公开 20250914_155401 看b站视频,吃东西...

5【鸿蒙/OpenHarmony/NDK】使用Node-API进行异步任务开发

各位码友们好!今天这篇干货主要聚焦实操细节,希望能帮大家少踩坑。​ 要是过程中遇到哪块没看懂、有疑问,或者你有更优的实现思路,评论区尽管聊!发现文档里有疏漏或错误也尽管指出来 —— 技术这东西就得互相挑刺才能越磨越精,咱们一起把这些知识点吃透~是什么?与同步处…...

控制器指令

cpu中有控制器和运算器 这里就要开始学控制器 指令 指令分为两个部分: 操作码 做什么事情 地址码 对谁做 当cpu检测到操作码为000110的时候,就要执行停机操作 指令是计算机的最小功能单位 计算机智能执行自己指令系统中的指令,不能执行其他系统的指令 比如说inter芯片一般都…...

题解:AT_abc421_c [ABC421C] Alternated

题面 思路 似乎有很多大神用类似逆序对的方法 \(O(n\log n)\) 通过了此题,不过此题是有贪心 \(O(n)\) 做法的。 我们可以从结果推导,每一个 A 和 B 都相邻的情况只有两种:AB...AB 和 BA...BA,以下称这两个结果串为 \(t\),题目给出的串为 \(s\)。 考虑怎样使得其消耗代价最…...

MySQL数据库:SQL数据类型

SQL数据类型 数值类型 字符类型 时间日期类型...

Ubuntu 安装

太好了!系统已经安装完成了! 您现在看到的是安装成功的最终界面。这意味着所有步骤,包括分区、复制文件、安装更新和配置引导程序,都已全部顺利完成。您现在有两个选择:立即重启 (推荐)点击这个按钮,计算机将会重启。重启后,它会从硬盘启动,您将进入刚刚安装好的全新 U…...

幼等数论

整除 T1-1. Propose that \(m > n \geqslant 0\), Prove that \( (2{2n} + 1) \mid (2{2m} - 1) \) . Since we have:\[x^n - y^n = (x - y)(x^{n-1} + x^{n-2}y + \cdots + xy^{n-2} + y^{n-1})\] Therefore, we can rewrite:\[ 2{2m} - 1 = (2{2{n+1}}){2{m-n-1}} - 1{2{…...

搭建rocketmq的三主三从遇到的坑

1、机器配置cat /etc/hosts 192.168.224.128 worker1 192.168.224.129 worker2 192.168.224.130 worker3 2、broker配置 128机器 a-master#所属集群名字,名字⼀样的节点就在同⼀个集群内 brokerClusterName=rocketmq-cluster #broker名字,名字⼀样的节点就是⼀组主从节点。 …...

深入解析:轻松Linux-9.进程间通信

深入解析:轻松Linux-9.进程间通信pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important; f…...

2025.9.14——1黄1绿

普及/提高- P2278 [HNOI2003] 操作系统 就是模拟,但是机房噪音太大调了好久…… 普及+/提高 P2233 [HNOI2002] 公交车路线 该说果然是老题吗……好简单的DP啊,应该只有黄的水平。...

Ubuntu 中改图片大小

在 Ubuntu 中,可以使用 ImageMagick 工具来调整图片的大小。ImageMagick 是一个强大的图像处理工具,支持多种图像格式和操作。 安装 ImageMagick 首先,您需要安装 ImageMagick。打开终端并输入以下命令: sudo apt-get install imagemagick使用 ImageMagick 缩放图片 安装完…...

认识眼图和眼图的参数

认识眼图 眼图(Eye Diagram)是用余辉方式累积叠加显示采集到的串行信号的比特位的结果,叠加后的图形形状看起来和眼睛很像,故名眼图。眼图的分析是数字系统信号完整性分析的关键之一。 眼图的形成 由于眼图是示波器用余辉方式将采集到的一系列串行信号的多个单位间隔(UI)…...

【芯片设计-信号完整性 SI 学习 1.2 -- loopback 回环测试】 - 实践

【芯片设计-信号完整性 SI 学习 1.2 -- loopback 回环测试】 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New…...

【科研绘图系列】R语言绘制地图和散点图 - 指南

【科研绘图系列】R语言绘制地图和散点图 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !…...

Java NIO 学习小记

Java NIO 学习小记 :Buffer、Channel 与 Selector 在 Java 的 I/O 体系中,NIO(New Input/Output)是对传统 BIO(Blocking I/O)的优化。NIO 提供了更高效的 面向缓冲区、基于通道 的数据处理方式,并且通过 多路复用器(Selector) 实现了单线程处理多个连接的能力。本文简…...

扩展欧几里得算法求乘法逆元

之前学过用快速幂求逆元,条件是当模数 \(p\) 为质数的时候,\(a\) 的逆元就是 \(a^{p - 2}\)。 但相较于扩展欧几里得算法求逆元,适用的范围是比较小的,因为扩展欧几里得算法适用于所有逆元存在的情况。在以下的式子中,模数为 \(m\) 的情况下,\(x\) 就是 \(a\) 的逆元 \[a…...

redis实现缓存3-封装redis工具类

具体实现: CacheClient package com.hmdp.utils;import cn.hutool.core.util.BooleanUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.data.re…...

高阻态

高阻态高阻态(High Impedance State,简称 Hi-Z 或 Hi-Z State)是指电路中的某个输出引脚或信号处于一种“关闭”状态,既不提供电流,也不吸收电流。这个状态通常用于三态逻辑(Tri-state Logic)系统中,目的是让该引脚既不会对电路中的其他部分产生影响,也不会消耗功率。…...

鸿蒙应用开发从入门到实战(四):ArkTS 语言概述

ArkTS是HarmonyOS优选的主力应用开发语言。ArkTS围绕应用开发在TypeScript(简称TS)生态基础上做了进一步扩展,继承了TS的所有特性,是TS的超集。​ 大家好,我是潘Sir,持续分享IT技术,帮你少走弯路。《鸿蒙应用开发从入门到项目实战》系列文章持续更新中,欢迎关注! 一…...

命令模式的深度解析:从标准实现到TPL Dataflow高性能架构

命令模式是对一类对象公共操作的抽象,它们具有相同的方法签名,所以具有类似的操作,可以被抽象出来,成为一个抽象的命令对象。实际操作的调用者就不是和一组对象打交道,它是需要以来这个命令对象的方法签名,并根据这个签名调用相关的方法。 以上是命令模式的大概含义,这里…...

ORA-01555系列:二、ORA-01555的场景分析与解决方案

我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢! 由于博客中有大量代码,通过页面浏览效果更佳。本章将深入探讨ORA-01555的四种核心触发场景,为每种场景提供两个详细的…...

PySimpleGUI常用控件

PySimpleGUI常用控件序号 控件类型 控件函数1 文本控件 1-1:sg.Text() 或者 sg.T()1-2:sg.Input() 或 sg.In() 或 sg.InputText()(文本输入框)1-3:sg.Listbox()(多行列表文本框)1-4:sg.Multiline()(大文本框)2 按键控件 2-1:sg.Button() 或 sg.B()(按键)2-2:sg.E…...

202312_QQ_DNS流量

流量分析,DNS流量,pysharkTags:流量分析,DNS流量,pyshark 0x00. 题目 附件路径:https://pan.baidu.com/s/1GyH7kitkMYywGC9YJeQLJA?pwd=Zmxh#list/path=/CTF附件 附件名称:202312_QQ_packet1.zip 小张发现公司某台服务器被入侵,经过在服务器上抓包后得到流量文件,请帮忙分…...

读书笔记:为什么数据在磁盘上的存放顺序如此重要?

我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢! 由于博客中有大量代码,通过页面浏览效果更佳。本文为个人学习《Expert Oracle Database Architecture Techniques and…...

Rcc_APBPeriphClockCmd()

Rcc_APBPeriphClockCmd()启用时钟后,外设能工作,而禁用时钟时外设无法工作的原因,主要是因为 时钟系统 是微控制器中控制所有硬件模块运行的基础。外设时钟负责为外设提供必要的运行时钟信号,没有时钟信号,外设就无法进行正常的操作。下面是一些具体的原因: 1. 时钟是外设…...

故障处理:ORA-19809: limit exceeded for recovery files

我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢! 由于博客中有大量代码,通过页面浏览效果更佳。故障处理:ORA-19809: limit exceeded for recovery files 欢迎大家加入…...

25.09.14 与其感慨路难行,不如马上出发

从2025年9月14日起,我将在此博客网站记录本人对于后端开发路线的每日学习进度与感悟。未来有可能学习其他技术栈,同样将保持记录。 目前规划如下,每天做一道leetcode hot100,前期主要目标在于快速学习java技术栈:JavaWeb、Spring、SpringMVC、Mybatis、Redis、SpringBoot、…...

GCC工具链应用学习笔记

GCC工具链应用学习笔记pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important; font-size: 1…...

初始化 MCP 环境 创建 MCP Server (一)

1、进入 python3 的 Miniconda 虚拟环境创建及进入方法,参见: https://www.cnblogs.com/rslai/p/18741276 2、安装 fastmcp 库pip install fastmcp安装成功后执行 pip list | grep fastmcp 可以查看已经安装 fastmcp 。如下图 3、创建 server 项目 A)新建一个目录,例如 m…...

博客园格式设置

一级标题 1 正文 zhengwen 正文 zhengwen 二级标题 1.1 正文 zhengwen 正文 zhengwen print("hello worldhello world"hello world"hello world"hello world"hello world"hello world"hello world"hello world"hello world&q…...

[总结/备赛]备战 CSP-S 2025 初赛总结

被拉到dl24jp集训一整天(我的作业啊啊啊啊啊) 1.排序算法 主要考察稳定性,时间复杂度,原理 1.1.插入排序最佳时间复杂度:\(O(n)\) 最差时间复杂度:\(O(n^2)\) 平均时间复杂度:\(O(n^2)\) 是否稳定:是 1.2.希尔排序(优化插入排序) 就是把元素分组,每组gap个,对gap中的元…...

win11 系统如何进行硬盘分区?固态硬盘怎么分区?SSD 固态硬盘是分区好还是不分区好?

win11 系统如何进行硬盘分区?固态硬盘怎么分区?SSD 固态硬盘是分区好还是不分区好?电脑硬盘分区教程 win11本身就有自带的分区功能,所以不用借肋第三方软件也能分区,下面开始分享分区方法。 win11其实和win10差不多,功能也差不多,如果分区过win10可能都不用学就会。 理解…...

逆序数及其应用

刷手机的时候看到一个逆序数的算法题,刚好又在复习矩阵论,行列式里也有用到逆序数,想到大二时学的逆序数计算算法,回顾了一下,并写下这篇文章记录。 1. 定义 假设有一个排列\(a_1,a_2,\dots,a_n\),如果下标对\(\langle i,j \rangle\)满足\(i \lt j\)而\(a_i > a_j\),…...

豆豆守护如何下载?

豆豆守护是一款保护隐私数据工具软件,为开发者提供完善的测试环境。其每个安卓版本都会进行适配,作为开发者的我们如何对豆豆守护进行下载呢? 传送门:豆豆守护助手...

Java运行时jar时终端输出的中文日志是乱码

运行Jar时在控制台输出的中文日志全是乱码,这是因为cmd/bash默认的编码是GBK,只要把cmd的编码改成UTF-8即可两种方式修改:临时修改和注册表永久修改 临时修改 只对当前的cmd页面有效,关闭后重新打开都会恢复成GBK, 打开cmd,输入以下命令 chcp 65001AI写代码这样既可以更改…...

ZK2真空发生器日常清理

“过滤器”的拆卸方法 1.手拧或者内六角塞进去(不要用圆头,会打滑),顺着箭头方向顺时针旋转90,即可将连接器抽出2.更换滤芯 确保严丝合缝真空发生器滤芯 ZK2-FE1-3-A(1套10个) 产线零件盒3.装回时,逆着箭头旋转至横线与“LOCK”标记重合...

Nacos服务注册与发现

一、前提条件 你已经安装好Nacos客户端 二、添加对于的依赖到pom文件 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency><groupId>com.…...

马的遍历

2025.9.14 曹立 题目内容 有一个 \(n \times m\) 的棋盘,在某个点 \((x,y)\) 上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步 输入描述 输入只有一行四个整数,分别为 \(n,m,x,y\) 输出描述 一个 \(n \times m\) 的矩阵,代表马到达某个点最少要走几步(不能到达…...

20231310王宏邦《密码系统设计》第1周

20231310王宏邦《密码系统设计》第1周 学习内容《Windows C/C++加密解密实战》第 1,2 章:1、第⼀章概念复习; 2、第⼆章主要在 Linux(Ubuntu,openEuler)上把软件更新到最新版(3.0版本以上)。bang@LAPTOP-74GS6JSR:~$ openssl version OpenSSL 3.0.2 15 Mar 2022 (Library: …...

新学期第一次随笔:慢慢学,总会有进步

一、关于我:爱游戏也想学好知识的普通学生 大家好,我是一名大三学生,平时最大的爱好是打《CS:GO》,空闲时也会玩《我的世界》(MC)。打《CS:GO》时喜欢和队友配合冲锋,既是无畏的冲锋手也是冷静的狙击手,每次赢下对局都特别有成就感;玩MC时总爱研究怎么用指令搭一些自动…...

详细介绍:【C语言】第四课 指针与内存管理

详细介绍:【C语言】第四课 指针与内存管理pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !impo…...

知识点错题整理

1:【子串里面包含空串】12+1=13【一个字符串中任意个连续的字符组成的子序列称为该字符串的子串,则字符串 abcab 有(13 )个内容互不相同的子串】...

202311_陇剑杯预赛_tcpdump

流量分析,应急响应Tags:流量分析,应急响应 0x00. 题目 附件路径:https://pan.baidu.com/s/1GyH7kitkMYywGC9YJeQLJA?pwd=Zmxh#list/path=/CTF附件 附件名称:202311_陇剑杯预赛_tcpdump.zip题目描述:攻击者通过暴力破解进入了某Wiki 文档,请给出登录的用户名与密码,以:拼接…...

Linux学习记录(六):添加/删除用户

添加/删除用户 sudo useradd -m -d /home/newuser -s /bin/bash newusersudo passwd newuser新建/删除用户su: Super User即系统管理员 useradd: 新建用户 userdel: 删除用户 passwd : 修改密码...

python 链式调用 合并 __setattr__ __getattribute__ in nested object()

使用场景:bpy.types.Scene与bpy.context.scene部分功能重叠。 def Get(obj, attr: str | Sequence[str], root=False):"""injected recursive getattr, could pollute objects on chain in whole session"""IS_STR = isinstance(attr, str)if I…...

分享一个稳定好用的免费云服务——阿贝云体验

最近在搭建个人小项目,一直在寻找稳定的免费云服务器资源,偶然发现了「阿贝云」,用了几天感觉非常不错,特地来分享一下使用体验。 阿贝云提供了免费虚拟主机和免费云服务器,对于像我这样刚开始学习建站或者想做点小实验的用户来说非常友好。注册流程简单,开通也很快,控制…...

年化439%,回撤7%,卡玛比率62.5,附本地运行的完整策略python代码 - 详解

年化439%,回撤7%,卡玛比率62.5,附本地运行的完整策略python代码 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Couri…...

接口测试---PyMysql

PyMysql数据库操作代码安装 : pip install PyMySQL数据库应用场景校验测试数据 :http请求发送后,明确会修改表中的数据,但响应结果中没体现如删除员工(is_delete字段)构造测试数据 :测试数据使用一次就失效,不能重复使用 : 添加员工(手机号码字段)测试数据在展开测试前无法确定…...