后缀数组
Change_ZHONG
成在坚持
展开
-
tjut 3518
#include #include #define max 11000 int wa[max],wb[max],wv[max],ws[max]; int rank[max],height[max]; int cmp(int *r,int a,int b,int l) { return r[a]==r[b]&&r[a+l]==r[b+l]; } void原创 2016-08-31 08:06:40 · 171 阅读 · 0 评论 -
tjut 1403
#include #include #define max 1000010 int wa[max],wb[max],wv[max],ws[max]; int rank[max],height[max]; int sa[max],r[max]; char str[max*2]; int cmp(int *r,int a,int b,int l) {原创 2016-08-31 19:39:15 · 169 阅读 · 0 评论 -
tjut 3948
include#include#include#include#include#include#includeusing namespace std;typedef long long LL;const int N=200000+10;char s[N],s1[N];struct SuffixArray{ int a1[N],a2[N],c[N],SA[N],sa[N原创 2016-08-31 22:31:48 · 206 阅读 · 0 评论 -
tjut 2890
#include #include #include #include #include using namespace std;const int maxn=50050;char str[maxn];int s[maxn];int sa[maxn]; ///(你排第几)下标:排名情况, 数组值:首字符序号int rank1[maxn];/// (排第几的是谁) 下标:首字原创 2016-08-13 15:56:34 · 173 阅读 · 0 评论 -
poj 3450
#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define LS 2*i #define RS 2*原创 2016-09-06 20:21:08 · 208 阅读 · 0 评论 -
tjut 5769
#include #include #include #include using namespace std;typedef long long ll;const int N = int(2e5)+10;int cmp(int *r,int a,int b,int l){ return (r[a]==r[b]) && (r[a+l]==r[b+l]);}// 用于比较原创 2016-09-07 08:06:03 · 135 阅读 · 0 评论