后缀数组
拔光祖国小草
存放一下做的题。
展开
-
BZOJ1031(后缀数组)
题意:给出一个字符串,求出所有全排列后,按字典序从小到大排序,每个串的最后一位组成的字符串题解:后缀数组搞一搞,将他复制一遍,跑一个sa,那么对于长度n以后的字符串在sa中可以不管,算是个模板题吧#include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #include <string> #includ原创 2017-12-26 20:00:53 · 233 阅读 · 0 评论 -
POJ 3581(后缀数组)
要是用白书的板子 不用离散 要是蓝书的板子的话,因为m不知道上下线,需要离散 对于找一个字典序,只需要是一个串的子串,而不需要完全是一个串的后缀,但也可以用SA做 #include <cstdio> #include <cstring> #include <algorithm> #include <iostream> #include &...原创 2018-03-20 18:52:54 · 217 阅读 · 0 评论 -
后缀数组模板
白书SA模板 int rank[200005],tmp[200005]; bool cmp(int i,int j){ int ri,rj; if(rank[i]!=rank[j]) return rank[i] < rank[j]; ri=i+k<=n?rank[i+k]:-1; rj=j+k<=n?rank[j+k]:-1; ...原创 2018-03-20 18:54:58 · 247 阅读 · 0 评论 -
POJ 2217 (后缀数组+LCP)
要注意最后的空串也要算进去,所以是<=n #include <cstdio> #include <cstring> #include <algorithm> #include <iostream> #include <string> #include <set> #include <vector&g原创 2018-03-20 22:02:03 · 195 阅读 · 0 评论