题意:给定一个字符串,求一个最长的回回文子串,多解输出第一个。 析:把字符串翻转然后放到后面去,中间用另一个字符隔开,然后枚举每一个回文串的的位置,对第 i 个位置,那么对应着第二个串的最长公共前缀, 求最长公共子串,可以用RMQ解决。 代码如下: ...
分类:
编程语言 时间:
2017-04-13 20:03:54
阅读次数:
237
Description 火星人最近研究了一种操作:求一个字串两个后缀的公共前缀。比方说,有这样一个字符串:madamimadam, 我们将这个字符串的各个字符予以标号:序号: 1 2 3 4 5 6 7 8 9 10 11 字符 m a d a m i m a d a m 现在, 火星人定义了一个函 ...
分类:
Web程序 时间:
2017-04-02 16:55:53
阅读次数:
313
似乎是归队赛的最后一道题。 由于当时以为是公共字串所以没写555555,其实是求公共前缀。 做法是建立tire,把tire上的点编号看成是值,查询第l到第r个字符串的区间内不重复的值的个数。建立主席树维护即可 #include<cstring> #include<cstdio> #include<a ...
分类:
其他好文 时间:
2017-04-02 10:20:48
阅读次数:
164
Description 求形如ABA形式的字符串,其中B长度固定,\(n\leqslant 10^5\) Solution 后缀数组。 我们可以枚举一个长度\(x\),然后将序列分组,每组长度为\(x\),然后从\(i\)找和\(i+x+B\)的最长公共后缀和最长公共前缀,然后得到一组合法区间,限制 ...
分类:
其他好文 时间:
2017-03-31 09:20:14
阅读次数:
165
Description 火星人最近研究了一种操作:求一个字串两个后缀的公共前缀。比方说,有这样一个字符串:madamimadam, 我们将这个字符串的各个字符予以标号:序号: 1 2 3 4 5 6 7 8 9 10 11 字符 m a d a m i m a d a m 现在, 火星人定义了一个函 ...
分类:
Web程序 时间:
2017-03-03 09:58:53
阅读次数:
221
题意:给一个数字,每一次把它的最后一位拿到最前面,一直那样下去,分别求形成的数字小于,等于和大于原来数的个数。 SAM乱搞失败 当然要先变SS了 然后考虑每个后缀前长为n个字符,把它跟S比较就行了 如果用后缀家族的话复杂度要加上log,本题会TLE吧 求一个串S的每个后缀与另一个串T的最长公共前缀可 ...
分类:
其他好文 时间:
2017-02-13 20:08:30
阅读次数:
176
线段树单点修改区间查询 线段树同时维护和、最大值、最小值 线段树区间取模(平方)区间查询 最短路spfa 2-SAT稳定党员 欧几里得与扩展欧几里得 中国剩余定理 字典树 匈牙利算法 LCA Tarjan算法 Tarjan强连通分量 KMP算法 扩展KMP(最长公共前缀) 数位DP 组合数取模luc ...
分类:
其他好文 时间:
2017-02-03 13:36:06
阅读次数:
461
Description 火星人最近研究了一种操作:求一个字串两个后缀的公共前缀。比方说,有这样一个字符串:madamimadam, 我们将这个字符串的各个字符予以标号:序号: 1 2 3 4 5 6 7 8 9 10 11 字符 m a d a m i m a d a m 现在, 火星人定义了一个函 ...
分类:
Web程序 时间:
2017-01-28 15:52:16
阅读次数:
291
http://uoj.ac/problem/131 (题目链接) 题意 给出一个字符串,每个后缀有一个权值${a_i}$,这些后缀两两之间存在公共前缀。问能够组成长度从0~n-1的公共前缀的后缀的方案数以及他们权值的最大乘积。 Solution 听LCF说这是水题,就来做了。。 lyp学长说SAM构 ...
分类:
其他好文 时间:
2017-01-22 08:09:37
阅读次数:
199
题目链接:品酒大会 学了后缀自动机之后再来写这道题就轻松多了…… 首先,题面中的两杯酒\(r\)相似就是这两个后缀的最长公共前缀大于等于\(r\)。把串翻转过来之后就变成了两个前缀的最长公共后缀……然后就是\(parent\)树的事了…… 接着,我们要求出选出两杯\(r\)相似的酒的方案数。这个比较 ...
分类:
其他好文 时间:
2017-01-19 00:50:49
阅读次数:
205