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

[WC 2016] 论战捆竹竿

果然字符串的终点和字符串没什么关系吗。

不难发现我们每次只会在一个长竹竿后面拼接一个基础的短竹竿来增加长度。假设每次拼接竹竿的重叠部分为 \(p\),显然 \(p\) 是字符串的一个 border。

我们可以把这个字符串的所有 border 求出来,得到一个大小为 \(m\) 的集合 \(\{b_i\}\)。最后要求的就是满足 \(v\in [0,w-n]\),且方程 \(\sum_{i=1}^m b_ix_i=v\) 存在解的 \(v\) 的数量。

好的,后面是一个经典的同余最短路问题,于是我们得到了一个 \(\min{b_i}\times n\) 的解法,但是这个做法是 \(O(n^2)\) 的。

考虑优化这个做法,经典结论是一个字符串的 border 可以划分成 \(\log n\) 段等差数列 \(d_i+c_il_i\)(结论证明较为复杂)。考虑对于每一个 \(i\),求出在 \(\bmod d_i\) 意义下,加入前 \(i\) 个等差数列对应的边后的最短路。

依次加入每个等差数列,计算对最短路的影响。先考虑将原来 \(\bmod d_{i-1}\) 意义下的最短路换成 \(\bmod d_i\) 意义下的最短路,设前后两者对应的最短路数组为 \(f_i,g_i\),可以用 \(f_i+kd_{i-1}\) 去更新 \(g_{(i+kd_{i-1})\bmod d_i}\),其中 \(k\) 是没有限制的。

可以看成每个点 \(i\)\((i+d_{i-1})\bmod d_i\) 连一条有向边,这样整个图显然会划分成 \(\gcd(d_{i-1},d_i)\) 个环,每个环之间独立。这样就很好做了,断环成链复制一遍,然后用环上上一个位置更新当前位置,总复杂度 \(O(n)\)

转化完模数后,考虑用 \(g_{i}+kc_i\) 去更新 \(g_{(i+kc)\bmod d_i}\),其中 \(k\in [0,l]\),还是可以看成每个点 \(i\)\((i+c)\bmod d_i\) 连一条有向边,划分成 \(\gcd(d_i,c)\) 个环,但只能转移一次,最多从前 \(l\) 个位置转移,单调队列 \(O(n)\) 即可。

这样时间复杂度为 \(O(Tn\log n)\)

http://www.rkmt.cn/news/125093.html

相关文章:

  • 12/19
  • 实验6作业
  • Mintlify平台静态资产API跨租户内容注入漏洞分析
  • Experiment 6
  • 102302134陈蔡裔数据采集综合实践
  • A2A协议
  • C语言之成绩排序
  • 使用sharedPerences保存app配置文件
  • 分享文件:charles-proxy-4.6.3-win64.msi
  • 2025年12月中医馆,昆明中医,云南中医馆推荐:行业权威盘点与品质诊疗红榜发布 - 品牌鉴赏师
  • Android ALSA驱动进阶之获取周期帧数snd_pcm_lib_period_frames:用法实例(九十五) - 详解
  • 从研究问题到分析初稿:深度解析PaperXie AI科研工具中数据分析模块在学术写作场景下的辅助逻辑与技能实现路径
  • 详细介绍:Golang Cobra 教程:构建强大的CLI应用
  • 在 Windows 11 中,以管理员权限打开 CMD(命令提示符)的几种常用方法
  • 完整教程:Live2D形象展示与文本语音播报:打造生动交互体验的完整实现
  • SSM基于信息安全的无锡旅游服务系统5l83d(脚本+源码+数据库+调试部署+研发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
  • 【赵渝强老师】国产金仓数据库的数据库集群
  • 12.19 程序员修炼之道:从小工到专家 - GENGAR
  • 06.cloundflare的使用
  • 完整教程:Flutter 布局入门
  • CVE-2025-14910:Edimax BR-6208AC路由器路径遍历漏洞深度解析
  • 完整教程:CentOS快速安装DockerCE指南
  • 英语_阅读_a plan for cancer prevention_待读
  • 女装店铺数据分析系统:从数据预处理到智能推荐的全链路技术实现与深度解析
  • 第二阶段:Android音视频基础 - 教程
  • Day6 链表的基础操作I -卡码网C++基础课
  • 峰会收官传捷报!金当汉默斯创新实力获认可,一举拿下“重磅新品”“人气飙升”双项殊荣
  • 2.面向对象设计原则
  • 升级二进制kubernetes集群(大版本升级)
  • 手写数字识别:从零搭建神经网络 - 实践