![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
字符串
不给糖吃就胡闹
这个作者很懒,什么都没留下…
展开
-
K. 子串翻转回文串
公式:get(l,r) - get(l,i)*p[r -i] + get2(l,i)*p[r-i] 其中 p[r - i ]是 进行了 p倍。我们只需要找到不对称的那一部分在进行每一位反转,这时候我们可以用 O(1)的时间复杂度进行优化。,你可以选定其一个非空子串,然后将该子串翻转。具体来说,若选定的子串区间为 [是回文串,当且仅当它从左至右读出与从右至左读出完全相同,即。请你回答仅通过一次上述操作后,时间复杂度为:O(n);),则翻转后该串变为。原创 2024-05-06 19:05:15 · 230 阅读 · 0 评论 -
100268. 最长公共后缀查询(字典树查询)
中有两个或者更多字符串有最长公共后缀,那么答案为长度。我们可以倒着建立一颗字典树,并对他进行记录。如果有超过两个字符串有。最短长度,那么答案为它们在。请你返回一个整数数组。时间复杂度:O(n)原创 2024-03-24 12:34:36 · 337 阅读 · 0 评论 -
E. Collapsing Strings
我们需要求的每个字符串对应的reverse,在进行字典树的建立,记录其它的 每个连续字字符串的 个数。原创 2024-03-19 09:26:22 · 386 阅读 · 0 评论 -
KMP算法数组下标从0和数组下标从1开始
其实基本一样的只是一个初始化为-1,一个初始化为0。而next中记录的意义为前缀字符串和后缀字符串的长度,当i+1不匹配时,可以跳到 next[i] (因为next[i] 在进行 next[i]+1 是否配对成功)这种Next是直接记录当i不匹配时,直接跳到下标为Next[i]进行配对,它记录的是Next 时最长前缀 和最长后缀的长度后 ,最长前缀的长度还+1。我在运用KMP时,总时会搞混如果数组下标为0时要如何用写,下标为1时要如何写。还有一种是 在 KMP 中是记录next[i+1]的下标。原创 2023-12-11 18:37:37 · 149 阅读 · 0 评论 -
最短循环节问题 和 最短回文串(kmp , HASH )
给定一个字符串s,你可以通过在字符串前面添加字符将其转换为回文串。找到并返回可以用这种方式转换的最短回文串。示例 1:输入:s = "aacecaaa"输出:"aaacecaaa"示例 2:输入:s = "abcd"输出:"dcbabcd"提示:0 <= s.length <= 5 * 104 s仅由小写英文字母组成解析:要找最短回文字符串,我们可以想 设 s1 = abab将其翻转 变成 s2 = baba,合并字符串是为 s2 + s1原创 2023-12-11 18:14:24 · 111 阅读 · 0 评论 -
1044. 最长重复子串(字符串哈希 + 二分)
p一般为质数131,1313,13131;要开unsigned long long 防止溢出,字符串hash是比较字符串是否相等的一个的一个方法,时间复杂度为O(1)。二分法是确定求字符串的长度,check中的set是求是否有相同的字符串。中出现 2 次或更多次。这些出现之间可能存在重叠。可能具有最长长度的重复子串。时间复杂度为O(n*logn)。不含重复子串,那么答案为。原创 2023-12-11 16:45:09 · 81 阅读 · 0 评论 -
P1368 【模板】最小表示法
两个工艺品美观的比较方法是,从头开始比较,如果第 �i 个位置上方块不一样那么谁的瑕疵度小,那么谁就更漂亮,如果一样那么继续比较第 �+1i+1 个方块。如果全都一样,那么这两个工艺品就一样漂亮。但是方块现在是乱的,而且由于机器的要求,他们只能做到把这个工艺品最左边的方块放到最右边。第二行 �n 个整数,每个整数按从左到右的顺序输出方块瑕疵度的值。一行 �n 个整数,代表最美观工艺品从左到右瑕疵度的值。他们想,在仅这一个操作下,最漂亮的工艺品能多漂亮。第一行一个整数 �n,代表方块的数目。原创 2023-11-06 21:03:28 · 132 阅读 · 0 评论 -
P2580 于是他错误的点名开始了(字典树)
他会一边搓炉石一边点名以至于有一天他连续点到了某个同学两次,然后正好被路过的校长发现了然后就是一顿欧拉欧拉欧拉(详情请见已结束比赛 CON900)。校长会提供化学竞赛学生的人数和名单,而你需要告诉校长他有没有点错名。接下来 n 行,每行一个字符串表示其名字(互不相同,且只含小写字母,长度不超过 5050)。接下来 m 行,每行一个字符串表示教练报的名字(只含小写字母,且长度不超过 5050)。第 n+2 行一个整数 m,表示教练报的名字个数。,如果该名字正确但不是第一次出现,输出。,如果该名字错误,输出。原创 2023-01-19 15:44:07 · 608 阅读 · 0 评论 -
P3805 【模板】manacher 算法
给出一个只由小写英文字符a,b,c,…y,z 组成的字符串 S ,求 S 中最长回文串的长度。一行小写英文字符 a,b,c,⋯,y,z 组成的字符串 SS。原创 2023-01-19 15:19:06 · 98 阅读 · 0 评论