贺兰网站建设,网站开发维护关键技术,虚拟主机免费领取,河南注册公司代理题目传送门 经典的数据结构维护字符串哈希 这里用了很慢很慢的splay各种T#xff08;也可能是死循环#xff09; 不过没办法因为会写splay的能力还是要有的 #pragma GCC opitmize(O3)
#pragma G opitmize(O3)
#includestdio.h
#includes… 题目传送门 经典的数据结构维护字符串哈希 这里用了很慢很慢的splay各种T也可能是死循环 不过没办法因为会写splay的能力还是要有的 #pragma GCC opitmize(O3)
#pragma G opitmize(O3)
#includestdio.h
#includestring.h
#includealgorithm
#define N 100010
#define LL long long
#define son(x) (xch[f[x]][1])
using namespace std;
LL h[N],bas[N]{1};
int f[N],ch[N][2],sz[N],v[N];
int n,m,cnt0,rt0,q;
inline int newnode(int k){cnt; h[cnt]v[cnt]k; sz[cnt]1;return cnt;
}
inline void ps(int x){ sz[x]sz[ch[x][0]]sz[ch[x][1]]1;h[x](h[ch[x][0]]*131v[x])*bas[sz[ch[x][1]]]h[ch[x][1]];
}
inline void rot(int x){int pf[x],gf[p],dson(x);ch[p][d]ch[x][!d]; f[ch[p][d]]p;ch[x][!d]p; f[p]x; f[x]g;if(g) ch[g][pch[g][1]]x; ps(p); ps(x);
}
inline void splay(int x,int r0){for(int p;(pf[x])!r;rot(x))if(f[p]!r son(x)son(p)) rot(p);if(!r) rtx;
}
inline int select(int k,int xrt){for(int w;x;){wsz[ch[x][0]]1;if(wk) return x;if(kw) xch[x][0];else k-w,xch[x][1];}
}
inline int gRank(int k,int xrt){int r1;for(;x;){if(v[x]k) xch[x][0];else{ rsz[ch[x][0]]1; xch[x][1]; }}return r;
}
inline int rank(int x){int rsz[ch[x][0]]1;for(;x;xf[x])if(son(x)) rsz[ch[f[x]][0]]1;return r;
}
inline void Llink(int x,int v){ f[ch[x][0]v]x; ps(x); }
inline void Rlink(int x,int v){ f[ch[x][1]v]x; ps(x); }
inline LL gH(int x,int len){splay(select(x-1));splay(select(xlen),rt);return h[ch[ch[rt][1]][0]];
}
int main(){char c[50010],o[3]; scanf(%s%d,c,n); mstrlen(c); rtnewnode(0);for(int i1;i50100;i) bas[i]bas[i-1]*131;for(int i0;im;i){ Llink(newnode(c[i]),rt); rtcnt; }Llink(newnode(0),rt); rtcnt;for(int x,y;n--;){scanf(%s,o);if(*oI){scanf(%s%d,o,x);xmin(x,sz[rt]-1);splay(select(x)); splay(select(x1),rt);Llink(ch[rt][1],newnode(*o));ps(rt);} else {scanf(%d%d,x,y); x; y;int arank(x),brank(y);if(xy){printf(%d\n,sz[rt]-max(a,b));continue;}int l0,rsz[rt]-max(a,b);for(int M;lr;){Mlr11;if(gH(a,M)gH(b,M)) lM;else rM-1;}printf(%d\n,l);}}
} 转载于:https://www.cnblogs.com/Extended-Ash/p/9477183.html