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

ARC064D 题解

题目链接

太深刻了。

循环移位的特征在于,其是一个一对一的映射,就必然形成若干环状。我们求解可达的点数量,可以让每个点只被距离其最近的特殊点计算。也即,计算每个特殊点到下一个特殊点的距离并求和。

如果一个字符串循环移位 \(t\) 次后等于自己,那么其必然有长为 \(t\) 的约数的整周期。
证明:由条件可得该字符串具有长为 \(t\)\(n-t\) 的周期,由强周期引理可知其有长为 \(\gcd(t,n-t)=\gcd(t,n)\) 的周期。由于是 \(n\) 的因数故其为整周期。

因此,对于一个串,考虑找到其最小整周期 \(s\),则其到下一特殊点步数 \(t\) 满足 \(t\le s\),且其循环移位 \(0\sim s-1\) 步形成的字符串都互不相同。
将原串 \(A\) 循环移位 \(t\) 次完全等价于将 \(A\) 的整周期循环移位 \(t\) 次。
对于回文串来说,由 border 的性质可知,其所有整周期也都是回文串。由于我们要求移位之后还是回文,考虑原来整周期 \(T\)\(X(长为s-t)+Y(长为t)\),移位后是 \(Y+X\),要求 \(Y+X=反X+反Y\)。因为 \(T\) 是回文串,所以 \(T=反Y+反X\)。则将 \(T\) 循环移位 \(s-t\) 次可以得到 \(反X+反Y\)
上面的步骤总结一下就是 \(T\) 循环移位 \(t\) 次和循环移位 \(s-t\) 次相等的时候就到了下一个回文处。由于循环移位 \(0\sim s-1\) 步互不相同,所以必然只有 \(t=s-t\)\(t=s\) 两个解了。
那么结论就是,假设最小整周期长度为 \(s\),若 \(s\) 为偶数则贡献为 \(\frac{s}{2}\),否则贡献为 \(s\)

现在情况就清楚了,我们枚举最小整周期长度 \(s\),容斥计算最小整周期恰好是 \(s\) 的回文串数量,然后直接乘奇偶性对应的贡献系数即可。时间复杂度 \(O(d^2(n))\)

http://www.jsqmd.com/news/649848/

相关文章:

  • 2026北京车展即将来袭:中外车企大战升级,智驾落地更进一步
  • 别再只当照片看!手把手教你用Python提取大疆照片里的GPS、云台角度和RTK数据
  • Qwen3-ASR在智能客服机器人中的集成方案
  • PvZWidescreen:经典游戏显示架构的重构实践
  • 怎样快速配置虚拟摇杆:vJoy完整安装与使用指南
  • STM32红外遥控解码实战:基于HAL库的NEC协议精准捕获
  • NR - Slot Configuration: Understanding TDD-UL-DL Patterns and Flexible Symbols
  • 破解铁盒定制痛点:FAST降本定制方法论如何实现降本30%? - 速递信息
  • Mem Reduct:高效解决Windows内存卡顿的免费实用工具
  • 2025终极指南:LinkSwift网盘直链下载助手完全使用教程
  • HoRain云--Kotlin循环控制完全指南
  • 深入解析git clone --depth=1:加速克隆与精简历史的实战指南
  • ZLUDA终极指南:如何在非NVIDIA显卡上免费运行CUDA程序
  • 八大网盘直链下载助手:告别限速,一键获取真实下载地址的终极解决方案
  • 泛微ECOLOGY9-基于建模与ESB的角色成员动态同步与缓存即时刷新方案
  • 别再为中文用户名发愁了!手把手教你搞定Keil 5(MDK-ARM)的STM32F4开发环境
  • 网站制作公司哪家好?十家网站建设服务商推荐
  • Obsidian Zettelkasten模板系统:构建结构化知识管理的完整解决方案
  • 5分钟构建Python微信机器人:创新自动化方案解放双手
  • 3分钟搞定!用Sealos 4.0在Ubuntu 22.04上部署K8s高可用集群(含Cilium网络配置)
  • WordPress新手必看:除了导航菜单,你的主题可能还藏着这些“隐藏菜单位”
  • LRCGET:离线音乐歌词批量下载与管理终极指南
  • 如何一键永久保存微信聊天记录?WeChatMsg完整指南带你掌握数据主权
  • 番茄小说下载器:3大核心功能打造你的个人数字图书馆终极解决方案
  • Pixelbook 2017 双系统实战:Ubuntu与Windows10的驱动兼容与优化指南
  • Latitude5490 BIOS引导模式切换与硬盘分区格式转换实战
  • 深度解析Kindle电子书封面修复技术实现原理与架构设计
  • 百度网盘秒传脚本3步安装指南:实现高效永久文件分享的实用教程
  • 实战指南:在CentOS 7.9上构建高可用RKE2集群并集成Rancher 2.9.1管理平台
  • 深入Armv8.1-M内核:在BK7259上玩转Cortex-M52的TrustZone和Helium加速实战