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

给自己的家乡建设网站wordpress底部友情链接

给自己的家乡建设网站,wordpress底部友情链接,临漳+网站建设,学校英文版网站建设后缀自动机#xff0c;处理所有子串。 注意#xff1a;nq节点的建立#xff0c;是因为新加了一个字母使原本为一个状态的东西必须分为两个状态#xff0c;例如ba到baa#xff0c;a的出现次数变多#xff0c;a状态与ba状态分离。baa的新pnt不能是ba#xff0c;因为空节点…后缀自动机处理所有子串。 注意nq节点的建立是因为新加了一个字母使原本为一个状态的东西必须分为两个状态例如ba到baaa的出现次数变多a状态与ba状态分离。baa的新pnt不能是ba因为空节点可以通过两种方式到达ba状态它的pnt的状态就不唯一了。换句话说不能由截断前缀得到不符合的节点的后缀与儿子相同则跳指针时会出现问题。所以建立节点把是节点的状态分离出来让的。因为节点比节点短所以的的。 每个节点的转移他们的都应该具备 题目大意 给定一个字符串求每个长度的子串出现次数的最大值 tyvj 4123用pnt树size从大往小更新用并查集维护是否更新过 模板代码 #includeiostream #includecstdio #includecstring #includealgorithm using namespace std; #define maxn 200020struct node{int next[26],val;int pnt; }sam[maxn * 2]; struct node2{int sz,num;bool operator (const node2 a) const{return sz a.sz; } }data[maxn * 2]; char a[maxn]; int n,tot,last,root; int fa[maxn]; int num[maxn],ans[maxn],b[maxn];inline void add(int x){int np tot,p last;sam[np].val sam[p].val 1;data[np].sz 1;while ( !sam[p].next[x] p ) sam[p].next[x] np, p sam[p].pnt;int q sam[p].next[x];if ( !q ) sam[np].pnt root,sam[root].next[x] np;else if ( q sam[p].val 1 sam[q].val ) sam[np].pnt q;else{int nq tot;sam[nq].val sam[p].val 1;sam[nq].pnt sam[q].pnt;sam[np].pnt sam[q].pnt nq;memcpy(sam[nq].next,sam[q].next,sizeof(sam[q].next));while ( p sam[p].next[x] q ) sam[p].next[x] nq , p sam[p].pnt;if ( sam[p].next[x] q ) sam[p].next[x] nq; //特判p跳到根后的情况}last np; } inline void getsize(){for (int i 0 ; i tot ; i) num[sam[i].val];for (int i 1 ; i n ; i) num[i] num[i - 1]; //从小到大for (int i tot ; i 0 ; i--) b[--num[sam[i].val]] i;for (int i tot ; i 0 ; i--) if ( sam[b[i]].pnt ! b[i] ) data[sam[b[i]].pnt].sz data[b[i]].sz; } inline int getfa(int x){if ( x fa[x] ) return x;return fa[x] getfa(fa[x]); } int main(){scanf(%s,a 1);n (int) strlen(a 1);for (int i 1 ; i n ; i) add(a[i] - a);getsize();for (int i 1 ; i n 2 ; i) fa[i] i;for (int i 1 ; i tot ; i) data[i].num i;sort(data 1,data tot 1);for (int i 1 ; i tot ; i){int x data[i].num;for (int j getfa(sam[sam[x].pnt].val 1) ; j sam[x].val ; j getfa(j 1)){ans[j] max(data[i].sz,ans[j]);fa[j] fa[j 1];}}for (int i 1 ; i n ; i) printf(%d\n,ans[i]);return 0; }转载于:https://www.cnblogs.com/zqq123/p/5201312.html
http://www.pierceye.com/news/404245/

相关文章:

  • 牛街网站建设产品vi设计都包括什么
  • 网站需要多大宽带网站发展的方向
  • 陈光锋网站运营推广新动向故城建设银行网站
  • 备案后网站可以改名吗临颖网站建设
  • 临沭县建设局官方网站怎样做外贸网站推广
  • 手机网站支付一个简单的网页代码带图片
  • 向公司申请请做网站广州网站推广教程
  • 用QQ群做网站排名交互式网站app
  • 正规免费发布信息网站国外网站界面
  • 浏览国外网站 dns网店运营推广方案
  • wordpress弹幕视频插件广西seo搜索引擎优化
  • 网站开发与维护工资多少网络公司排名兴田德润
  • wordpress主题ux壹搜网站建设优化排名
  • 试剂产品商城网站建设杭州网站现场备案
  • 高唐企业建网站服务商wordpress google
  • 重庆网站开发商城最近新闻有哪些
  • 电商网站设计线路图有哪些网络推广平台
  • 海门市建设局网站科技与应用
  • 北京做网站s免费做app网站有哪些
  • 免费制作网页的网站网络营销师报名官网
  • 长沙网站制作好公司网络服务模型
  • 网站开发的时间流程微信平台可以做微网站吗
  • 镇江网站seo天猫网店代运营
  • 吴江城乡住房和城乡建设局网站怎么给别人做网站优化
  • 名师工作室网站建设 意义网站图片上浮动文字
  • 做co的网站商城网站不备案
  • 黄山建设网站公司电话网站下载链接怎么做
  • 开发企业网站多少钱电视剧排行榜百度搜索风云榜
  • 什么网站做软文装修公司报价如何计算
  • 网站开发免费视频播放器应用公园app免费制作