当前位置: 首页 > news >正文

自己做的网站被黑了怎么办m99ww094cn 苍井空做的网站

自己做的网站被黑了怎么办,m99ww094cn 苍井空做的网站,o2o平台运营是什么意思,专门做网站的公司正题 题目大意 给出一个长度为nnn的字符串#xff0c;两个串相似当且仅当可以通过每种字符置换使得它们相同。 qqq次询问这个字符串所有子串中和这个串中sl,rs_{l,r}sl,r​子串有多少个相似的。 1≤n≤105,1≤q≤51051\leq n\leq 10^5,1\leq q\leq 5\times 10^51≤n≤105,1≤…正题 题目大意 给出一个长度为nnn的字符串两个串相似当且仅当可以通过每种字符置换使得它们相同。 qqq次询问这个字符串所有子串中和这个串中sl,rs_{l,r}sl,r​子串有多少个相似的。 1≤n≤105,1≤q≤5×1051\leq n\leq 10^5,1\leq q\leq 5\times 10^51≤n≤105,1≤q≤5×105 字符集是数字0∼90\sim 90∼9 解题思路 请问我是在阴间吗 首先对于相似的比较相信很常见维护每个数字上一个和它相同的数字的距离然后没有上一个就定为000就好了。 但是这题的问题在于我们提取出区间构成的数组时前面有些要变成000。 同样的这也是个提示因为字符集大小只有10我们也可以从这里入手对于一个后缀我们把第一个出现的数字的位置挖空后我们至多会把这个后缀以这些位置分成101010份我们将这个字符串序列称之为这个后缀的值。 然后我们需要的就是这些后缀值的“LCP”而这样我们需要我们能快速求这些后缀中字符串的LCP。 子串的LCP直接上SARMQ就好了。 这样我们把弄出来的后缀的值排好序然后维护一个相邻的两两之间的LCP计入一个类似height的数组的东西。 然后对于询问我们就直接二分在RMQ上查询就好了。 时间复杂度O(10nlog⁡nqlog⁡n)O(10n\log nq\log n)O(10nlognqlogn) code #includecstdio #includecstring #includealgorithm #includevector using namespace std; const int N1e510; struct node{int l,r; }; struct nstr{vectornode r;int id; }sr[N]; int n,m,q,nxt[10],p[10],pos[N]; int x[N],y[N],c[N],sa[N],rk[N]; int lg[N],f[N][20],h[N],s[N]; char rs[N]; void Qsort(){for(int i1;im;i)c[i]0;for(int i1;in;i)c[x[i]];for(int i1;im;i)c[i]c[i-1];for(int in;i1;i--)sa[c[x[y[i]]]--]y[i],y[i]0;return; } void Get_SA(){for(int i1;in;i)x[i]s[i]1,mmax(m,s[i]1),y[i]i;Qsort();for(int w1;wn;w1){int p0;for(int in-w1;in;i)y[p]i;for(int i1;in;i)if(sa[i]w)y[p]sa[i]-w;Qsort();swap(x,y);x[sa[1]]p1;for(int i2;in;i)x[sa[i]](y[sa[i]]y[sa[i-1]]y[sa[i]w]y[sa[i-1]w])?p:(p);if(pn)break;mp;}return; } void Get_Height(){int k0;for(int i1;in;i)rk[sa[i]]i;for(int i1;in;i){if(rk[i]1)continue;if(k)k--;int jsa[rk[i]-1];while(iknjkns[jk]s[ik])k;h[rk[i]]f[rk[i]][0]k;}return; } void Get_RMQ(){for(int i2;in;i)lg[i]lg[i1]1;for(int j1;(1j)n;j)for(int i1;i(1j)-1n;i)f[i][j]min(f[i][j-1],f[i(1j-1)][j-1]);return; } int RMQ(int l,int r){if(!l||!r)return 0;if(lr)return n-l1;lrk[l];rrk[r];if(lr)swap(l,r);l;int zlg[r-l1];return min(f[l][z],f[r-(1z)1][z]); } int RMQs(int l,int r){l;int zlg[r-l1];return min(f[l][z],f[r-(1z)1][z]); } void SA(){Get_SA();Get_Height();Get_RMQ();return; } int cp(node x,node y){//xyif(!x.l!y.l)return 2;if(!x.l)return 1;if(!y.l)return 0;int lenRMQ(x.l,y.l);if(lenx.r-x.l||leny.r-y.l){if(x.r-x.ly.r-y.l)return 2;return (x.r-x.l)(y.r-y.l);}return s[x.llen]s[y.llen]; } bool cmp(nstr x,nstr y){int i0;while(1){if(ix.r.size())return 0;if(iy.r.size())return 1;int opcp(x.r[i],y.r[i]);if(op2)i;else return op;}return 0; } int LCP(nstr x,nstr y){int i0,ans0;while(ix.r.size()iy.r.size()cp(x.r[i],y.r[i])2)ansx.r[i].r-x.r[i].l1,i;if(ix.r.size()iy.r.size())ansmin(RMQ(x.r[i].l,y.r[i].l),min(x.r[i].r-x.r[i].l,y.r[i].r-y.r[i].l)1);return ans; } int main() { // freopen(similar.in,r,stdin); // freopen(similar.out,w,stdout); scanf(%d%d,n,q);scanf(%s,rs1);for(int i1;in;i){if(!nxt[rs[i]-0])s[i]0;else s[i]i-nxt[rs[i]-0];nxt[rs[i]-0]i;}SA();memset(nxt,0,sizeof(nxt));for(int in;i1;i--){nxt[rs[i]-0]i;for(int j0;j9;j)p[j]nxt[j];sort(p,p10);int nowi;for(int j0;j9;j){if(!p[j])continue;if(p[j]now)sr[i].r.push_back((node){now,p[j]-1});sr[i].r.push_back((node){0,0});nowp[j]1;}if(nown)sr[i].r.push_back((node){now,n});sr[i].idi;}sort(sr1,sr1n,cmp);for(int i1;in;i)pos[sr[i].id]i;for(int i2;in;i)h[i]LCP(sr[i-1],sr[i]);for(int i2;in;i)f[i][0]h[i];for(int j1;(1j)n;j)for(int i1;i(1j)-1n;i)f[i][j]min(f[i][j-1],f[i(1j-1)][j-1]);int las0;while(q--){int l,r;scanf(%d%d,l,r);l^las;r^las;if(ln||rn||l1||r1)continue;int xpos[l],lenr-l1;int Lx1,Rn,ans1;while(LR){int mid(LR)1;if(RMQs(x,mid)len)Lmid1;else Rmid-1;}ansR-x;L1;Rx-1;while(LR){int mid(LR)1;if(RMQs(mid,x)len)Rmid-1;else Lmid1;}ansx-L;printf(%d\n,lasans);}return 0; }
http://www.pierceye.com/news/395846/

相关文章:

  • 西安做网站公司工资wordpress 导航 分类
  • 网站建设免费教程网页设计图片高清
  • 网站后台源代码东直门小学的网站建设
  • 无锡建设局评职称网站分析 网站
  • 宜昌需要做网站建设的公司python做调查问卷网站
  • 乐陵森大最好的seo优化公司
  • php网站开发实施方案福建建筑信息平台
  • 怎么写公司网站的文案建设网站技术公司简介
  • 陕西做网站的wordpress增加变量
  • 莒南县建设工程网站网站认证方式有几种
  • 举报网站建设自查报告相同网站名
  • 网站建设网站建设公司北京logo设计制作
  • 福州市交通建设集团有限公司 网站全国国家公示系统官网
  • 郑州网站建设蝶动2023年专升本最新政策
  • 江苏网站推广网络企业宣传画册设计公司
  • 沈阳设计网站公司哪家好个人养老保险怎么交费
  • 烟台seo网站推广如何给自己公司设计logo
  • wordpress 图片大小设置梧州网站优化公司
  • 360推广 网站建设豫建设标去哪个网站
  • 职高网站建设知识点国家免费技能培训有哪些
  • 哪个网站有帮忙做公开课课件怎么查那些人输入做网站
  • 怎么做qq钓鱼网站吗有哪些站内推广的方式
  • wap手机网站建设校园论坛网站怎么做
  • 北京专业网站的建设滨州做网站的
  • 网站点击排名wordpress 联系我们
  • 上街免费网站建设seo外包公司优化
  • 营销型网站的三大特点安徽网站设计方案
  • 优化网站推广教程排名做微信公众号页面的网站
  • 龙岗网站设计效果台州百度关键词排名
  • 政务类网站建设ps做全屏网站画布要多大