新闻详情

新闻详情

首页 / 资讯中心 / 详情

又见循环移位

发布时间:2026/10/2 21:08:40来源:尧图网络
又见循环移位
题面https://codeforces.com/contest/2266/problem/D题解https://www.luogu.com.cn/article/pk0sh4ce思路Code:voidsolve(){intn;cinn;vectorinta(n1,0);for(inti1;in;i){cina[i];a[i]-i;}sort(a.begin()1,a.end());a.erase(unique(a.begin()1,a.end()),a.end());na.size();// for(int i1;in;i)couta[i] ;// cout\n;//把下标处理对intt1;intans0;for(inti1;in;i){if(i1na[i]1a[i1])t;else{ansmax(ans,t);t1;}}ansmax(ans,t);coutans\n;return;}Conclusion循环移位这个套路在竞赛里出现频率极高因为它有一个非常强大的性质任意多个循环移位组合起来可以得到任意排列。也就是说一旦你发现某个操作等价于“把一段循环移位”你就可以认为这些元素可以随便重排问题立刻简化成“只看元素的值不看位置”。为什么循环移位这么常见因为很多操作的本质就是“把某个东西挪到前面其他往后挤”。比如把最后一个元素移到最前面把区间[i, j]整体旋转把某个数插到前面其他后移。这些操作在减去下标或加上下标之后往往就变成了纯粹的循环移位。循环移位的两个关键性质一个长度为 L 的循环移位可以拆成若干次相邻交换所以它能生成这个区间内的所有排列。不同区间的循环移位组合起来可以生成整个序列的任意排列只要区间能覆盖所有元素。所以一旦你证明“操作 循环移位”你就可以直接说这些元素可以任意重排。常见信号看到以下关键词就要警惕是不是循环移位操作里出现1、-1、-(j-i)这类与下标差有关的项操作把最后一个元素搬到前面其他元素往后挪操作后某个“差值”序列只是被重新排列了。这时候试着定义一个b_i a_i - i或b_i a_i i看看操作是不是变成了b的循环移位。总结循环移位之所以常见是因为它把“位置变化”和“值变化”解耦了原操作同时改变值和位置很乱减掉下标后位置变化被抵消只剩下值的重排而重排意味着我们可以忽略位置只关心值的集合。所以以后看到“操作后某些差值只是换了位置”就可以直接反应循环移位 → 可任意重排 → 只看值。这个直觉一旦建立很多题都会变得简单。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Python数据分析实战:从JSON到可视化自制Spotify年度听歌报告 2026/10/2 21:55:53

Python数据分析实战:从JSON到可视化自制Spotify年度听歌报告

每年年底 Spotify 都会准时送上一张 Wrapped 卡片,告诉你这一年你听了多少小时、哪个歌手被你循环最多。但说实话,每次看到那张图我都觉得不够——它只给你结论,不给你明细。比如我想知道"这一年里凌晨三点的我到底在循环什么歌"&q…

阅读更多 →
PVE网络配置实战:修改IP、网关、DNS及失联自救全攻略 2026/10/2 21:55:52

PVE网络配置实战:修改IP、网关、DNS及失联自救全攻略

说个我自己的经历。大概是两三年前,我第一次在一台淘汰下来的小主机上装好了Proxmox Virtual Environment(PVE),版本还是7.x。装完之后系统默认的管理IP是192.168.1.100,而我家的路由器网段是192.168.31.0/24&#xff…

阅读更多 →
小米手机页面反复重启?从启动模式搞懂排查自救方法 2026/10/2 21:55:49

小米手机页面反复重启?从启动模式搞懂排查自救方法

很多人第一次遇到小米手机“页面重新启动”这个问题时,第一反应是手机坏了,甚至直接拿去维修店。我最早接触这个情况是给家里人清理手机,结果误触了按键组合,屏幕一黑直接进了那个“手机连接电脑”的兔子画面,当时也吓…

阅读更多 →
中文命名实体识别实战:BERT+BiLSTM+CRF课设指南 2026/10/2 21:55:47

中文命名实体识别实战:BERT+BiLSTM+CRF课设指南

简介:这份资源面向计算机相关专业的本科生与课程设计学习者,提供一套基于BERTBiLSTMCRF的中文命名实体识别完整源码,适合作为毕业设计、期末大作业或NLP入门实战项目。项目采用预训练语言模型提取语义特征,结合双向LSTM与条件随机…

阅读更多 →
OpenClaw实战:从环境部署到Skills技能,打造个人AI自动化工作流 2026/10/2 21:55:37

OpenClaw实战:从环境部署到Skills技能,打造个人AI自动化工作流

1. OpenClaw 到底是什么,凭什么能替你干活早上八点五十一分,邮箱弹出一封只有一句话的邮件:“下班前把方案给我”。我打开终端,敲了一行命令:openclaw run "把上周六次会议纪要去重,提取待办&#xff…

阅读更多 →
Claude Code 跳过登录:API密钥与环境变量配置指南 2026/10/2 21:55:24

Claude Code 跳过登录:API密钥与环境变量配置指南

说实话,Claude Code 第一次在我终端里提示登录的时候,我的第一反应是:一个命令行工具,为什么会做到这种交互体验?后来我才明白,这套网页登录流程只是认证链条里的最末端。在它前面有环境变量密钥、会话令牌…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉