[ABC284F] ABCBAC
2023-01-09
题目
翻译
难度&重要性(1~10):2.5
题目来源
AtCoder
题目算法
Z函数,KMP,字符串Hash
解题思路
对于一个 \(f_S\),我们可以将它化成三个部分。
也就是 \([0,i-1],[i,i+n-1],[i+n,2n]\)。
我们可以不断枚举中断点 ii,判断中间子串是否是原字符串的回文串,时间复杂度 \(O(n^2)\)。
我们不得不寻找一种更好的方法,对此我们可以把它切成四部分。
即 \([0,i-1],[i,n],[n+1,i+n-1],[i+n,2n]\)。
仅当 \(T\) 是合法的字符串,有 \(i\) 满足 \([0,i-1]\) 和 \([n+1,i+n-1],[i,n]\) 和 \([i+n,2n]\) 互为回文数。
为了运算方便,我们可以把 \([n+1,2n]\) 翻转过来。
显然的,\([0,n]\) 绝对是 \([n+1,2n]\) 右移复制后的子串。
我们只要找到 \([0,n]\) 在 \([n+1,2n][n+1,2n]\) 串中的位置,逆推之后,我们就能确定 \(i\) 的位置,这道题就做完了。
完成状态
已完成
[ABC284F] ABCBAC的更多相关文章
- [ABC284F] ABCBAC(字符串哈希)
思路 这里我们要注意以下几点: 字符串哈希自然溢出(\(\pmod 2^64\))会被卡,会\(WA~5\)个点 注意有模数的时候不要用\(unsigned\ long \ long\)类型 代码 # ...
- js判断一个字符串是否是回文字符串
回文字符串:即字符串从前往后读和从后往前读字符顺序是一致的. 如:字符串abccba,从前往后读是a-b-c-c-b-a:从后往前读也是a-b-c-c-b-a 方法一 function palindR ...
- POJ 1854 - Evil Straw Warts Live
Description A palindrome is a string of symbols that is equal to itself when reversed. Given an inpu ...
- 一个SAM的样例
\[s=abcbacbcb\\ \begin{split} p \quad& fa \quad& Substrings \quad& Right \\ 1 \quad& ...
- AtCoder Beginner Conest 284 解题报告
AtCoder Beginner Conest 284 解题报告 \(\text{By DaiRuiChen007}\) \(\text{Contest Link}\) A. Sequence of ...
随机推荐
- vue全家桶进阶之路33:Vue3 计算属性computed
在Vue3中,计算属性可以使用computed函数来定义. computed函数接受两个参数:第一个参数是一个函数,该函数返回计算属性的值:第二个参数是一个可选的配置对象,可以包含getter和set ...
- SignalR WebSocket通讯机制
1.什么是SignalR ASP.NET SignalR 是一个面向 ASP.NET 开发人员的库,可简化向应用程序添加实时 Web 功能的过程. 实时 Web 功能是让服务器代码在可用时立即将内容推 ...
- centos linux系统安装详解
打开vmware,版本差异区别不大 选择创建新的虚拟机 选择典型,是默认选项不用改,点击下一步 选择稍后安装操作系统(默认选项不用改),点击下一步 选择linux,并且版本改为centos 64位,点 ...
- svn is already locked 最终解决方案
今日执行项目更新时,手贱点击了cancel 中断了操作,最后导致项目被锁,杯具了. 首先想到了Clean up 直接提示 看来不行呀 -// 省略 n 多种尝试 最后使用删除db 中的 lock 表来 ...
- 利用jira及confluence的API进行批量操作(查找/更新/导出/备份/删除等)
前言: 近期因为某些原因需要批量替换掉 jira 和 confluence中的特定关键字,而且在替换前还希望进行备份(以便后续恢复)和导出(方便查看)atlassian官方的api介绍文档太简陋,很多 ...
- JavaSE线程基础
1.线程概念 2.线程创建方式 1.继承thread 2.实现runnable runnable使用最多 3.线程的生命周期及线程的状态 新建状态 就绪状态的线程(已获得所有资源,栈堆内存空间),即s ...
- Python 中常见的 TypeError 是什么?
翻译:BioIT 爱好者原文:TypeError: A Bytes-Like object Is Required, not 'str' | Finxter 简介 目标:在本教程中,我们的目标是修复以 ...
- 手把手实践丨基于STM32+NBIOT+华为云IOT设计智能井盖
摘要:本文介绍基于STM32微控制器.BC26 NBIOT模组和华为云IOT平台,实现了一款智能井盖系统. 本文分享自华为云社区<基于STM32+NBIOT+华为云IOT设计的智能井盖>, ...
- unity添加Mysql的dll以及发布的问题
最近在做一个unity项目中,要读取数据库,还是MySql的数据库.遇到了很多问题,写出来供大家参考一下. 关于unity引用第三方的Mysql.data.dll的问题: 这个地方有一个难点,正常的C ...
- React SSR - 写个 Demo 一学就会
React SSR - 写个 Demo 一学就会 今天写个小 Demo 来从头实现一下 react 的 SSR,帮助理解 SSR 是如何实现的,有什么细节. 什么是 SSR SSR 即 Server ...