题面 题意:给你一个字符串,问你满足s[i]=s[2n-i]=s[2n+i-2]的子串(这子串长度为3n-2)有多少个,原字符串长度<=5e5 题解:对于这种子串,其实要满足2个回文,跑过一次Manacher后,len[i]表示以i向两边扩展最远的回文串长度, 那么对于答案,实际就是统计满足下列条件 ...
分类:
其他好文 时间:
2018-10-07 00:43:03
阅读次数:
188
深度优先遍历(DFS),先判断前一个部分是否是回文,如果是,则将其加进集合中,然后继续判断后面的回文串。 在回溯的时候,将之前加入集合的串删除,重新选择回文串。每到达一次叶子节点,得到一组结果。 ...
分类:
其他好文 时间:
2018-10-05 22:42:01
阅读次数:
181
Description: 给你一个指针,可以左右移动,指向的小写字母可以,改变,但都是有花费的a - b 和 a - z花费1,指针移动也要花费,一个单位花费1,问你把当前字符串变成回文串的最小化费是多少 Solution: 真是贪啊,也怪我没咋理解题意~~ 首先对于字母的调整肯定是有一个最优值得, ...
分类:
其他好文 时间:
2018-10-04 19:52:26
阅读次数:
140
题解:先建pam,然后在fail树上dfs,从上到下的链如果有当前长度最远回文串的一半,那么更新答案 // pragma GCC optimize(2) // pragma GCC optimize(3) // pragma GCC optimize(4) // pragma GCC optimiz ...
分类:
其他好文 时间:
2018-10-04 11:00:53
阅读次数:
162
断断续续地看了两天的马拉车算法,可算是给搞明白了(贼开心),这算是自己搞懂的第一个算法了(23333333333333)这个算法照目前自己的理解来看,貌似就只能求个字符串中的回文串(接触这个算法是要求最长的回文串),虽然应用的范围有点少,但还是要学习滴,不然遇到类似的题目就gg了。 可以在线性时间内 ...
分类:
编程语言 时间:
2018-10-02 22:17:03
阅读次数:
210
题意:给一个串s,用最少的字母补全使它成为回文串 思路:先求正反两个哈希,然后枚举终点 思维上没什么难度主要是细节以及怎么写比较自然 我选择把两个哈希串都弄成递增的,那原串s[l..r]的哈希值就是反哈希[n-r, n-l]的值 ...
分类:
其他好文 时间:
2018-10-01 10:39:46
阅读次数:
175
问题描述: 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。 在构造过程中,请注意区分大小写。比如 "Aa" 不能当做一个回文字符串。 注意: 假设字符串的长度不会超过 1010。 示例 1: 思路: even = all odd = odd -1 方法:(counte ...
分类:
其他好文 时间:
2018-09-30 20:02:20
阅读次数:
135
传送门 搞回文串很容易想到manacher 把每个回文串看成线段 那就是求两个相邻线段的最长总长度 设 l[ i ] 表示左端点为 i-1 时线段的最大长度,r[ i ] 表示右端点为 i+1 时线段的最大长度 (这里 i 在manacher处理后的字符串a上,线段的最大长度是指原字符串上的长度) ...
分类:
其他好文 时间:
2018-09-28 12:32:22
阅读次数:
178
D. Tree Requests http://codeforces.com/problemset/problem/570/D 题意: 一个以1为根的树,每个点上有一个字母(a-z),每次询问一个子树内深度为h的点是否可以构成回文串。(深度是到1的深度,没有也算,空回文串) 分析: dsu on t ...
分类:
其他好文 时间:
2018-09-27 11:18:58
阅读次数:
119
Description 母亲节就要到了,小 H 准备送给她一个特殊的项链。这个项链可以看作一个用小写字 母组成的字符串,每个小写字母表示一种颜色。为了制作这个项链,小 H 购买了两个机器。第一个机器可以生成所有形式的回文串,第二个机器可以把两个回文串连接起来,而且第二个机器还有一个特殊的性质:假如一 ...
分类:
其他好文 时间:
2018-09-26 22:41:09
阅读次数:
180