码迷,mamicode.com
首页 >  
搜索关键字:后缀自动机    ( 599个结果
bzoj3926: [Zjoi2015]诸神眷顾的幻想乡 后缀自动机在tire树上拓展
题意:有棵树每个点有个颜色(不超过10种),每个节点不超过20个儿子,问你每两点之间的颜色序列不同的有多少种 题解:先建出树,对于每个叶子节点,bfs一遍建在sam上,每次保留当前点在sam上的位置,拓展时用父亲节点在sam上的位置当成last即可.然后统计sam本质不同的字符串有多少个 注:dfs ...
分类:其他好文   时间:2019-04-06 14:05:23    阅读次数:96
【SPOJ】Substrings(后缀自动机)
```cpp / 求right集合大小 然后后缀最大值 / include include include include include define ll long long define M 600010 define mmp make_pair using namespace std; in ...
分类:其他好文   时间:2019-03-28 09:57:30    阅读次数:178
CF 316G3 Good Substrings——广义后缀自动机
题目:http://codeforces.com/contest/316/problem/G3 对询问串和模式串一起建一个后缀自动机,做出在每个串上的 right 集合大小之后枚举自动机上的每个点看看是否合法即可(合法的话,贡献是 len[ cr ] - len[ fa ])。 注意做出拓扑序后用的 ...
分类:其他好文   时间:2019-03-27 21:22:30    阅读次数:181
P3804 【模板】后缀自动机
思路 很水的后缀自动机 找到最长的大小不为1的endpos与maxlen的乘积即可 代码 ...
分类:其他好文   时间:2019-03-05 09:43:11    阅读次数:123
HIHOcoder1465 后缀自动机五·重复旋律8
思路 后缀自动机求最长循环串 首先有一个常用的处理技巧,将串复制一遍,长度大于n的子串中就包含了一组循环子串 然后是后缀自动机如何处理最长公共子串的问题 维护两个变量,u和l,u代表当前位置的最长公共子串在哪个状态中,l代表当前位置的最长公共子串的长度 然后如果当前位置有向T[i+1]转移的路径,则 ...
分类:其他好文   时间:2019-03-05 09:18:18    阅读次数:158
cf1121F. Compress String(后缀自动机)
题意 "题目链接" Sol 居然出个SAM板子也是没谁了233 cpp include define Pair pair define MP(x, y) make_pair(x, y) define fi first define se second // define int long long ...
分类:其他好文   时间:2019-03-04 09:53:43    阅读次数:108
HIHOcoder 1449 后缀自动机三·重复旋律6
思路 显然endpos的大小就对应了对应子串的出现次数,所以快速求出endpos的大小,然后用它更新对应子串长度(minlen[i]~maxlen[i])的答案即可 endpos的大小可以拓扑排序求出,发现suflink构成了一棵树,每个点代表的串都是孩子的后缀,所以$$endpos[x]\ge\s ...
分类:其他好文   时间:2019-03-04 09:43:36    阅读次数:178
HIHOcoder 1445 后缀自动机二·重复旋律5
思路 题目要求求出有多少个不同的子串出现 因为后缀自动机每个状态存储的是连续的后缀,所以一个状态对应的子串个数就是maxlen[x] minlen[x]+1 代码 cpp include include include include using namespace std; const int M ...
分类:其他好文   时间:2019-03-04 09:26:47    阅读次数:174
【Codeforces 1129C】Morse Code
Codeforces 1129 C 题意:给一个0/1串,问它的每一个前缀中的每一个子串能解析成莫尔斯电码的串的种数。 思路:首先对于这个串构造后缀自动机,那么从起点走到每一个节点的每一条路径都代表了这个串的一个子串,所以考虑以后缀自动机上的节点作为dp的对象,即$dp(i)$表示考虑第i个节点所表 ...
分类:其他好文   时间:2019-03-03 23:48:06    阅读次数:233
【Codeforces 113B】Petr#
Codeforces 113 B 题意:有一个母串$S$以及两个串$S_{begin}$和$S_{end}$,问$S$中以$S_{begin}$为开头并且以$S_{end}$为结尾的不同子串的个数。 思路1(后缀自动机): 首先肯定要把后缀自动机构建出来(第一次一遍敲对后缀自动机祭),然后我们考虑$ ...
分类:其他好文   时间:2019-03-03 23:46:42    阅读次数:187
599条   上一页 1 ... 10 11 12 13 14 ... 60 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!