2020.11.25 周三
我只能说
水逆
水逆
水逆
水逆
求转运
该挂分的都挂分了 不会的依旧纠结半天
稍微总结一下
A A A 就该挂分 没有初始化确实不是因为粗心 是我觉得不需要初始化
B B B 想了很多假算法 都把自己 h a c k hack hack 了 hd写的假 A C AC AC 的算法我考试的时候把它 h a c k hack hack 了 然而这个题完全脚造数据把这个假算法放过了?? 还绑了子任务的 所以 人 有时不要想得太多了 没话说呜
C C C 占坑有时间一定一定补 (真的好讨厌这种繁琐的题
D
把最两边组成的回文去掉就变成了上图的问题
一个区间从左边开始 一个在中间
先用马拉车算出每个中心点的回文半径
再用拓展 k m p kmp kmp 求出每个前缀 i i i 取反的字符串 和原串的 L C P LCP LCP (为了方便直接称它为 L C P LCP LCP
那么图中
情况一就直接求 R R R 右边的位置对应的 L C P LCP LCP 最长的就行了
讨论情况二
在求 L C P LCP LCP 时
若 s t r ( 1... a ) str(1...a) str(1...a) 和 s t r ( i . . . j ) str(i...j) str(i...j) 两个拼起来可以组成回文
且 L C P j = j − i + 1 LCP_j=j-i+1 LCPj=j−i+1
那么 定义 T O i = j TO_i=j TOi=j
情况二要求的就是 R R R 及 R R R 左边的 T O TO TO 最大的值 那就是 R R R 科研延申的位置
(我但凡还记得马拉车和拓展 k m p kmp kmp 的话 也不至于想半天还不能 A A A