多校 A 层冲刺 NOIP2024 模拟赛 06

news/2024/10/13 9:10:20

多校A层冲刺NOIP2024模拟赛06

T 小 Z 的手套(gloves)

签到题

答案显然具有单调性,排序后二分答案即可。

T 小 Z 的字符串(string)

签到题

注意到 \(n\) 较小,可以使用 \(O(n^3)\) 的算法,直接上大 \(DP\)

设计状态 \(f_{i,j,k,0/1/2}\) 表示从左往右填到 \(i\) 位,已经填了 \(j\)\(0\)\(k\)\(1\),且第 \(i\) 位为 \(0/1/2\) 时所需最小花费。

转移直接大分讨即可,注意交换的过程中位移是相对的,每一次交换移动是双向的,所以目的位置具有一个偏移量,可以提前预知,所以最后直接交换的答案应减半。

T 一个真实的故事(truth)

线段树,分块

类似山海经直接合并即可。

全局查询竟然是 \(O(1)\),竟然不用考虑平衡复杂度!

时间复杂度瓶颈在修改操作为 \(O(qklogn)\)

口胡一个在线跟 $k$ 无关做法

首先有一个 naive 的想法,对每个点维护所有颜色在它右边第一次出现的位置,将它视作答案的左端点则右端点为这些位置中的最大值,然后注意到很多点的某些颜色的第一次出现的位置其实是同一个位置,利用这个性质。

考虑分块,整块维护块内点所用位置第一次出现统一颜色的位置,块内单点维护不同第一次出现颜色的位置,这个可以用 set 维护,然后对每个块建一颗线段树直接维护每个点的答案(只计算自己独立最大的位置)支持区间查询最小值。

以下统一记 len 为块长, t 为块的个数。

初始化 会对每个块遍历一次所有颜色,直接硬塞即可,时间复杂度为 \(O(ktlogn)\)

修改 注意到本质上是区间修改变动颜色前驱到该位置之间块的公共颜色,以及前驱和该位置所在块的独立颜色,时间复杂度为 \(O(lenlogn)\)

答案查询 遍历所有块,二分第一个独立颜色小于公共颜色的点然后更新答案,再在线段树上插叙这个点以右的最小值更新答案,时间复杂为 \(O(tlogn)\)

\(t,len\) 相等时理论复杂度最优为 \(O(n\sqrt n logn)\),但由于常数原因个人感觉将块长调大一点实际会更好。

懒得写了 ...摆摆摆摆

T 异或区间(xor)

笛卡尔树,启发式合并,trie,RMQ,分治

全是套路。

考虑弱化小于等于 max 的限制,即考虑每个值所能影响的区间,由此想到到在笛卡尔树上分治。具体的每次找到当前区间的最大值设为 \(mid\),然后分别 \([l,mid-1],[mid+1,r]\) 进行分治,合并的时候由于和左右区间长度不一样,考虑使用较小的区间去算贡献,然后时间复杂度就变为了启发式合并的时间复杂度。考虑怎么算贡献,建一颗 trie 树,维护前缀异或和,每次计算异或上一个值(即能表示区间异或和)且小于等于每一个值的个数,板子直接套就行了。trie 树更新同启发式合并,把少的往多的插,然后继承给父亲即可。

时间复杂度为 \(O(nloglogV)\)

p

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/70979.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

Panasonic Programming Contest 2024(AtCoder Beginner Contest 375)

Panasonic Programming Contest 2024(AtCoder Beginner Contest 375)\(A\) A - Seats \(AC\)基础字符串。点击查看代码 int main() {int n,ans=0,i;string s;cin>>n>>s;for(i=0;i<n;i++){ans+=(s[i]==#&&s[i+1]==.&&s[i+2]==#&&i+2&l…

读数据工程之道:设计和构建健壮的数据系统07数据架构的原则

数据架构的原则1. 企业架构 1.1. 企业架构有很多子集,包括业务、技术、应用程序和数据 1.2. TOGAF1.2.1. The Open Group Architecture Framework,是The Open Group的一个标准1.2.2. 被誉为当今使用最广泛的架构框架1.2.3. 定义1.2.3.1. “企业架构”上下文中的术语“企业”可…

InputTip:输入法状态提示工具,让你的输入更高效

InputTip 是一个输入法状态(中文/英文/大写锁定)提示工具,免费开源InputTip 是一个输入法状态(中文/英文/大写锁定)提示工具,免费开源,基于 AutoHotKey 开发。 ‍ 介绍 ​ 官网:https://inputtip.pages.dev 开源在 GitHub:https://github.com/abgox/InputTip 和 Gite…

Nexpose 6.6.272 发布下载,新增功能概览

Nexpose 6.6.272 for Linux & Windows - 漏洞扫描Nexpose 6.6.272 for Linux & Windows - 漏洞扫描 Rapid7 Vulnerability Management, released Oct 03, 2024 请访问原文链接:https://sysin.org/blog/nexpose-6/ 查看最新版。原创作品,转载请保留出处。 作者主页:s…

常用数据挖掘算法

常用数据挖掘算法总结及Python实现

CORS 一把梭

CORS允许恶意域名(.com.cn)来访问 (/api/self) 端点的敏感数据 反之亦然主要在于胡扯烂造,大家就当相声看看吧。【本人不保证技术的实用性,一切文章仅供参考,如有谬错,请留言】

k8s docker network

Kubernetes的网络模型和网络策略 1、Kubernetes网络模型和CNI插件 在Kubernetes中设计了一种网络模型,要求无论容器运行在集群中的哪个节点,所有容器都能通过一个扁平的网络平面进行通信,即在同一IP网络中。需要注意的是:在K8S集群中,IP地址分配是以Pod对象为单位,而非容…