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

如何给网站添加统计代码seo优化流程

如何给网站添加统计代码,seo优化流程,网站上的图片一般多大合适,深圳福田区是富人区吗失配树,是一种奇妙的数据结构,它利用 KMP、LCA 解决求两前缀的最长公共 Border 的问题。 首先介绍一下什么是 Border,我们知道 nxt 数组是前后缀相同的最大长度,Border 相当于是 nxt 数组的弱化版,只是去掉了“最大”…

失配树,是一种奇妙的数据结构,它利用 KMP、LCA 解决求两前缀的最长公共 Border 的问题。

首先介绍一下什么是 Border,我们知道 nxt 数组是前后缀相同的最大长度,Border 相当于是 nxt 数组的弱化版,只是去掉了“最大”的限制。

我们考虑如何建立一棵失配树(fail 树),对于每一个长度为 i i i 的前缀,我们预处理出它的 nxt,然后按照 i i i 指向 nxt[i],即 nxt[i] i i i 的爹。

对于两个前缀的最长 Border,我们只需要对于两个区间的 i i i j j j 求出它们的 LCA 即可。这里需要注意一个坑,如果 i i i j j j 的 LCA 是他们中的一个,那么我们要把 LCA 上提一步,即返回 f[i][0]f[j][0](返回他们的父亲)。


练手板子题

代码如下:

#include <bits/stdc++.h>
using namespace std;const int maxn=1e6+5;
char s[maxn];
int f[maxn][25],dep[maxn];int lca(int x,int y)
{if(dep[x]<dep[y]) swap(x,y);for(int i=20;i>=0;i--) if(dep[f[x][i]]>=dep[y]) x=f[x][i];if(x==y) return f[x][0];for(int i=20;i>=0;i--)if(f[x][i]!=f[y][i])x=f[x][i],y=f[y][i];return f[x][0];
}int main()
{scanf("%s",s+1);int len=strlen(s+1);f[0][0]=f[1][0]=0;dep[0]=0;dep[1]=1;for(int i=1,j=0;i<=len;i++){while(j&&s[i+1]!=s[j+1]) j=f[j][0];if(s[i+1]==s[j+1]) j++;f[i+1][0]=j,dep[i+1]=dep[j]+1;}int m;cin>>m;for(int j=1;j<=20;j++) for(int i=1;i<=len;i++) f[i][j]=f[f[i][j-1]][j-1];while(m--){int p,q;cin>>p>>q;cout<<lca(p,q)<<endl;}return 0;
}
http://www.yayakq.cn/news/896587/

相关文章:

  • 人力社保网站建设的意义企业网站建设费
  • 单位网站开发合同范本怎么玩互联网能赚钱
  • 做数学的网站临海网站开发公司电话
  • seo网站结构支持wap网站的系统
  • 淘宝运营模式怎么快速优化关键词排名
  • 秦皇岛网站建设哪里有网站设计与建设word设计理念
  • 有没有哪个网站能够做简历app建设网站
  • app手机网站中国好公司排名
  • 博客网站开发视频数据库网页制作教程
  • win7 做网站服务器wordpress响应很慢
  • 网站seo是干什么的网站编辑器
  • 微信网页上的网站怎么做wordpress mega
  • 知名企业网站建设建设银行个人查询余额
  • 工图网短视频关键词seo优化
  • 潍坊网站建设托管做微信公众号的网站
  • 方案策划网站wordpress 探针
  • 怎么免费建网站设计公司展厅设计
  • 潍坊网站模板在哪个人工商注册查询网站
  • 高水平的徐州网站建设手机网站禁止缩放
  • 烟台做网站公司工程建设承包合同
  • 营销型 网站开发沈阳做网站哪家便宜
  • 哪里可以找到做网站的榆次网站建设公司
  • jsp编写网站h5网站架设
  • 有什么网站可以做名片专门做网站开发的公司
  • 网站建设法规一个网站是怎么建立的
  • 野马视觉传媒网站建设seo排名点击软件
  • 保山市城乡建设局网站wordpress站外链接跳转页面
  • 青岛网站建站团队太原网站制作推荐
  • 旅游网站官网网站开发兼职
  • 工程建设信息网站什么域名不用备案