后缀自动机板子题 https://vjudge.net/problem/28017/origin 找多串的最长公共子串 //#pragma comment(linker, "/stack:200000000") //#pragma GCC optimize("Ofast,no-stack-prote ...
分类:
其他好文 时间:
2018-03-29 22:45:07
阅读次数:
232
"vjudge" 题意 求长度为$i$的子串在原串中出现次数的最大值。 sol 还是直接求$endpos$集合大小。 最后做一遍后缀最大值,因为很明显答案单调不增。 code cpp include include include using namespace std; const int N = ...
分类:
其他好文 时间:
2018-03-27 21:58:46
阅读次数:
162
"vjudge" 题意 给你一个串,求不同字串个数。 $n\le10^5$ sol 直接建SAM然后输出$\sum_{i=1}^{tot}len[i] len[fa[i]]$ code cpp include include include using namespace std; const in ...
分类:
其他好文 时间:
2018-03-27 21:58:06
阅读次数:
129
题意 一棵树,每个点初始有个点权和颜色 $0 \ u$ :询问所有$u,v$ 路径上的最大点权,要满足$u,v$ 路径上所有点的颜色都相同 $1 \ u $:反转$u$ 的颜色 $2 \ u \ w$ :把$u$ 的点权改成$w$ $color_i∈[0,1],w_i∈[?10^9,10^9],n, ...
分类:
其他好文 时间:
2018-03-26 19:49:38
阅读次数:
175
题目传送门 传送门I 传送门II 题目大意 给定一个字符串,多次询问它的第$k$大本质不同的子串,输出它。 题目传送门 传送门I 传送门II 题目大意 给定一个字符串,多次询问它的第$k$大本质不同的子串,输出它。 考虑后缀Trie。依次考虑每个后缀新增的本质不同的子串个数,显然,它是$n - sa ...
分类:
编程语言 时间:
2018-03-25 13:15:31
阅读次数:
187
"题目链接 洛谷" "SPOJ" 将每次Solve的重心root连起来,会形成一个深度为logn的树,就叫它点分树吧。。 我们对每个root维护两个东西: 它管辖的子树中所有白点到它上一层(点分树中的fa[x])的距离(记为h1),以及它的所有子树中h1的最大值、次大值(这样就有答案了)(记为h2) ...
分类:
其他好文 时间:
2018-03-21 19:55:26
阅读次数:
189
位运算与集合 枚举子集 统计子集的答案 SPOJ TLE CF 383E c++ rep(i,0,n) { rep(j,0,(1 ...
分类:
其他好文 时间:
2018-03-18 20:09:31
阅读次数:
128
题链: http://www.spoj.com/problems/NSUBSTR/题解: 后缀自动机。 不难发现,对于自动机里面的一个状态s, 如果其允许的最大长度为maxs[s],其right集合的大小为right[s], 那么显然就可能对ANS[maxs[s]]造成贡献,即ANS[maxs[s] ...
分类:
其他好文 时间:
2018-03-10 22:08:05
阅读次数:
212
题链: http://www.spoj.com/problems/LCS2/题解: 后缀自动机。 对第一个串建立后缀自动机, 然后把后面的每个串分别与该串的自动机去匹配,求出相应的数组val*[s]: 表示第*个串与第一个串的自动机的状态s的最大匹配长度, (求法就是两个串用后缀自动机求LCS这一过 ...
分类:
其他好文 时间:
2018-03-10 22:00:50
阅读次数:
204
题链: http://www.spoj.com/problems/SUBLEX/题解: 后缀自动机。 首先,因为相同的子串都被存在了自动机的同一个状态里面,所以这就很自然的避免了重复子串的问题。 然后考虑自动机里面的转移trans,发现其构成了一个DAG,且从一个状态出发,DFS下去就可以得到所有的 ...
分类:
其他好文 时间:
2018-03-10 21:56:56
阅读次数:
166