A

给出一个由 \(1,-1\) 组成的序列。一次操作可以让一个数变相反。

要多少次操作,才能让整个序列和非负且积等于 \(1\)。

大 氵题。

B

定义两个数 \(A,B\) 有一个价值:每一位上的数字的差的绝对值相加。(位数不足用前导零补齐)

给出区间 \(l,r\),问在 \([l,r]\) 内选两个数,最大的价值是多少。


找出 \(l,r\) 最大的相等前缀 \(k\)。

\(l,r\) 的最高位、次高位、第三高位、……、第 \(k\) 高位,都相等,而第 \(k+1\) 位不相等。

前 \(k\) 位一定都相等。我们让两数的第 \(k+1\) 位也不变,然后小数之后的位都选 \(9\),大数之后的位都选 \(0\)。

答案是 \(r_{k+1}-l_{k+1}+9\cdot (n-k-1)\)。

C

初始给出两个字符串。

Alice 和 Bob 轮番行动,Alice 先。

Alice 每次必须修改一个字符,Bob 每次必须挑一个字符串翻转。

可能在某次 Alice 或者 Bob 操作后,两个字符串相等了。游戏结束。

Alice 的目标是最小化这个游戏的回合数(Alice 和 Bob 各走一次算两回合)。Bob 的目标相反。

问:回合数最小化是多少?


把翻转过的字符串称作反字符串,没有翻转过/翻转抵消的字符串称作正字符串。

注意到最终匹配只有两种情况:两正字符串匹配,一正一反匹配。

分两种情况讨论即可。

D

每个学生都有一个学习区间 \([l_i,r_i]\)。初始所有手的高度为 \(0\)。

老师每次询问一个问题 \(x\),不限次数。每个问题至多询问一次

如果 \(x\) 在一个学生的学习区间中,则这个学生把手举高 \(1\) 单位;否则降低 \(1\) 单位。(高度可以是负数)

你现在就是老师,可以操控每次的询问。问:所有询问之后,手最高的学生和手最低的学生,高度差最大是多少?


考虑枚举手最高的学生和手最低的学生 \(a=[l_{high},r_{high}],b=[l_{low},r_{low}]\)。

那么最终的答案就是 \(2\times (|a|-|a\cap b|)\)。(所有 \(a\) 会 \(b\) 不会的问题个数,乘 \(2\) 是因为一个上一个下要两倍)

现在考虑对于每个区间 \(a\)(\(a\) 枚举),求出一个区间 \(b\) 使得 \(2\times (|a|-|a\cap b|)\) 最大,其实就是让交最小。

如果 \(b\) 被 \(a\) 包含,此时一定让 \(b\) 的长度最小。

如果 \(b\) 和 \(a\) 交错,且在 \(a\) 的左端点交错,此时一定让 \(b\) 的右端点越小越好。(当然,最好就是小到连 \(a\) 的左端点都够不上,此时交的长度为 \(0\))

如果 \(b\) 和 \(a\) 在 \(a\) 的右端点交错,此时让 \(b\) 的左端点越大越好。

容易发现,无论对于哪一个区间来说,我们都只需要找到 \(n\) 个中长度最小的区间、右端点最小的区间、左端点最大的区间。不可能出现区间 \(a_1\) 认为如果在包含的情况下,\(b\) 是最优的;但是 \(a_2\) 不这么认为。

问题:

如果 \(a_1\) 认为如果在包含的情况下,\(b\) 是最优的;但是 \(a_2\) 并不包含 \(b\)(交错),这个时候用 \(b\) 和 \(a_2\) 求答案,不就出错了吗?

并不会。因为这么做的答案肯定不会比我们另外两个交错情况下求出的区间,再和这个 \(a_2\) 求答案更优。这个题目只要求不漏掉,不要求不重复。

E

求出最小的数,使得它不能表示为给定序列中任何一个连续子串的最小公倍数。


容易发现,在左端点固定的时候,若右端点向右移动,则区间的 \(\operatorname{lcm}\) 值要么不变,要么至少乘 \(2\)。

而对于一个质数,它不可能成为任意两个与它不等的数的 \(\operatorname{lcm}\),而第 \(3\times 10^5+1\) 个是 \(4256233\),所以在所有区间的 \(\operatorname{lcm}\) 中,那些大于 \(4256233\) 的是没有用的。

因此,记 \(V=4256233\),则当左端点固定的时候,不同的有用 \(\operatorname{lcm}\) 只有 \(\log V\) 个。

考虑从右向左移动移动左端点,并且维护以当前点为左端点的不同 \(\operatorname{lcm}\)。

具体地,可以用两个 set \(A,B\) 分别维护当前存在的不同 \(\operatorname{lcm}\) 和所有可能有用的 \(\operatorname{lcm}\),左端点左移到 \(i\) 的时候,需要将 \(a_i\) 放入 \(A\),并遍历 \(A\) 中本来就存在的区间,对 \(a_i\) 取 \(\operatorname{lcm}\) 后重新放入 \(A\)。每次更新完之后,就把当前 \(A\) 中的元素放入 \(B\) 中。最后对 \(B\) 中的元素求 \(\operatorname{mex}\) 即可。

随机推荐

  1. 基于java+springboot的求职招聘网站-求职招聘管理系统

    该系统是基于java+springboot开发的求职招聘网站.网上招聘管理系统.网上人才招聘系统.毕业生求职招聘系统.大学生求职招聘系统.校园招聘系统.企业招聘系统.是给师弟开发的毕业设计.大家学习过 ...

  2. [转帖]离线部署单机kubenetes-1.28.4

    系统版本: openEuler 22.03 (LTS-SP2) docker版本:24.0.7 kubenetes版本: 1.28.4 虚机IP: 192.168.177.138 基于 https:/ ...

  3. [转帖]ssh_exporter

    https://github.com/treydock/ssh_exporter SSH exporter The SSH exporter attempts to make an SSH conne ...

  4. [转帖]03-rsync传输模式(本地传输、远程方式传输、守护进程模式传输)

    https://developer.aliyun.com/article/885801?spm=a2c6h.24874632.expert-profile.282.7c46cfe9h5DxWK 简介: ...

  5. PHP GC回收机制详解

    前言 GC的全称是Garbage Collection也就是垃圾回收的意思,在PHP中,是使用引用计数和回收周期来自动管理内存对象的,当一个对象被设置为NULL,或者没有任何指针指向时,他就会变成垃圾 ...

  6. 开源OpenIM:高性能、可伸缩、易扩展的即时通讯架构

    网上有很多关于IM的教程和技术博文,有亿级用户的IM架构,有各种浅谈原创自研IM架构,也有微信技术团队分享的技术文章,有些开发者想根据这些资料自研IM.理想很丰满,现实很骨感,最后做出来的产品很难达到 ...

  7. 【主流技术】15 分钟掌握 Redis 的安装部署和基本特性

    目录 前言 一.Redis 概述 1.1Redis 是什么? 1.2Redis 能做什么? 1.3基础知识 二.Redis 安装与基本命令 2.1Windows 安装 方式一 方式二 2.2Linux ...

  8. 知识蒸馏相关技术【模型蒸馏、数据蒸馏】以ERNIE-Tiny为例

    1.任务简介 基于ERNIE预训练模型效果上达到业界领先,但是由于模型比较大,预测性能可能无法满足上线需求. 直接使用ERNIE-Tiny系列轻量模型fine-tune,效果可能不够理想.如果采用数据 ...

  9. 【一】LaTeX的安装和使用、安装TeXstudio、中文界面输出设置

    安装方法一:(推荐) 下载链接·:http://tug.org/texlive/acquire-netinstall.html 下载zip,然后运行Windows批处理脚本(install-tl-wi ...

  10. 从嘉手札<2023-11-01>

    最近心态不好,如同此刻的天气,浓雾扰扰,看不见前途未来,也想不起过去. 一则是研究没有进展,二则是感情纷扰,其实再多的纷扰也都不过是自己内心的那层桎梏,可人不能总能保持理性的: 就像很多快乐的事情是简 ...