牛客小白月赛45
比赛链接
牛客小白月赛45
F.交换
题目描述
小沙是一个机器人,虽然小沙有很多设计不完善的地方,但是小沙立志要成为一个聪明的机器人。
小沙经常遇见这样的一个问题,管理员大大要小沙将上传的指定数列进行排序。
小沙的程序指令集中每个指令会交换两个位置上的数字,哪怕那两个位置上没有数也会进行交换。
完成任务后会直接返回与给定数列长度相同的数列。
小沙的设计缺陷就在于对于每次管理员大大给定的任务,他并不能随心所欲的挑选指令集中的指令来进行交换,但他可以选择指令操作集中的一段子串从前往后按顺序执行指令来完成任务。
现在管理员大大又给了小沙许多任务,希望你可以帮小沙完成管理员大大给的任务,对于每个任务,输出最短可完成任务指令数长度。
如果小沙无法完成任务,那么他只好输出-1了QAQ。
输入描述:
第一行输入两个数字
分别代表小沙的指令集长度,以及管理员大大下发的任务数
随后行 每行两个数字,代表交换位置的数字
随后行 每行第一个数代表这段数列有kk个数,保证给定 数是一段排列。
输出描述:
对于每个任务输出一行整数代表答案
如果没法完成任务输出
输入
输出
解题思路
字典树
不妨反过来考虑区间 经过操作子串变化后得到的序列的最少子串长度,可以将所有询问的序列加入字典树中,记录询问的编号对应的节点,然后再从操作区间中选取一个子串对区间 进行操作,每到一个节点就更新答案
- 时间复杂度:
代码
__EOF__

本文作者:acwing_zyy
本文链接:https://www.cnblogs.com/zyyun/p/15967680.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/zyyun/p/15967680.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!