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

网站换空间 seo内江 网站建设

网站换空间 seo,内江 网站建设,电子商务网站建设与维护教案,wordpress更换登录账号后缀数组SA 模板 花了不少时间才理解倍增求SASASA的实现方法#xff0c;我还是太菜了。 定义sa[i]sa[i]sa[i]表示排名为iii的后缀的起始位置。 定义rank[i]rank[i]rank[i]表示起始位置为iii的后缀的排名。 显然两者之前互逆。 void solve() {int m122;for (int i1;im;…后缀数组SA 模板 花了不少时间才理解倍增求SASASA的实现方法我还是太菜了。 定义sa[i]sa[i]sa[i]表示排名为iii的后缀的起始位置。 定义rank[i]rank[i]rank[i]表示起始位置为iii的后缀的排名。 显然两者之前互逆。 void solve() {int m122;for (int i1;im;i) cnt[i]0;for (int i1;in;i) cnt[x[i]a[i]];for (int i1;im;i) cnt[i]cnt[i-1];for (int in;i1;i--) sa[cnt[x[i]]--]i;for (int k1;kn;k1){int p0;for (int i1;im;i) y[i]0;for (int in-k1;in;i) y[p]i;for (int i1;in;i) if (sa[i]k) y[p]sa[i]-k;for (int i0;im;i) cnt[i]0;for (int i1;in;i) cnt[x[y[i]]];for (int i1;im;i) cnt[i]cnt[i-1];for (int in;i1;i--) sa[cnt[x[y[i]]]--]y[i];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]k]y[sa[i-1]k])?p:p;if (pn) break;mp;} }Height以及LCP 定义LCP(x,y)LCP(x,y)LCP(x,y)表示字符串xxx与yyy之间的最长公共前缀长度。 定义height[i]height[i]height[i]表示suffix[sa[i−1]]suffix[sa[i-1]]suffix[sa[i−1]]和suffix[sa[i]]suffix[sa[i]]suffix[sa[i]]的LCPLCPLCP的长度即相邻排名的后缀的LCPLCPLCP长度。 容易发现一个性质 对于任意的j,kj,kj,k若rank[j[rank[k]rank[j[rank[k]rank[j[rank[k]则suffix(j),suffix(k)suffix(j),suffix(k)suffix(j),suffix(k)的LCPLCPLCP的长度为 minirank[j]1rank[k]height[i]min_{irank[j]1}^{rank[k]}height[i] minirank[j]1rank[k]​height[i] 即两个后缀j,kj,kj,k的LCPLCPLCP长度是排名在它们之间所有的后缀包括suffix(k)suffix(k)suffix(k)的heightheightheight值的最小值。 根据这一性质倘若我们可以求出height[i]height[i]height[i]我们就可以通过STSTST表O(nlgn)O(nlgn)O(nlgn)预处理O(1)O(1)O(1)询问两个后缀的LCPLCPLCP答案了。 而对于heightheightheight数组也有一个重要的性质 height[i−1]−1≤height[i]height[i-1]-1\leq height[i] height[i−1]−1≤height[i] 于是可以O(n)O(n)O(n)计算heightheightheight了。 void get_height() {for (int i1;in;i) rnk[sa[i]]i;for (int i1,j0;in;i){if (j) j--;while (a[ij]a[sa[rnk[i]-1]j]) j;height[rnk[i]]j;} }SA的简单应用 1.求最长重复子串 答案为heightheightheight最大值。 2.求最长重复k次子串 二分答案转化为判断是否存在长度为xxx的子串重复至少kkk次。将所有相邻且heightheightheight大于等于xxx的都分在一组判断是否有一组的后缀个数大于kkk即可。 时间复杂度O(n)O(n)O(n) 3.本质不同子串个数 答案为产生的新串数量-重复出现的串的数量。 则∑i(n−i1)−height[rnk[i]]\sum_{i} (n-i1)-height[rnk[i]]∑i​(n−i1)−height[rnk[i]]。
http://www.zqtcl.cn/news/39851/

相关文章:

  • 网站建设技术外包建设银行信用卡网站是多少钱
  • wordpress 单本小说站中国核工业第五建设有限公司待遇
  • 重庆移动网站建设建立一个网页需要多少钱
  • 揭阳新站seo方案昭通seo
  • 国内哪个网站做水产比较大网上怎样查询企业资质
  • phpstorm网站开发华池网站建设
  • 西宁平台网站建设个人设计作品集
  • 龙岗网站建设公司网络服务芜湖建设网站
  • 淘宝联盟个人网站怎么做网络规划设计师考试考点分析网盘
  • 域名注册以后怎样做网站网站登录系统怎样做
  • 安康网站制作公司旅游网站开发开题报告
  • 简单网站建设软件有哪些方面台州网站建设系统
  • 牡丹江市建设行业协会网站移动互联网开发是做什么的?
  • 手机网站开发模拟手机常见服务器
  • 公司网站维护价格表2023ui设计是怎么实现的
  • 华强北网站建设设计福州seo排名优化公司
  • 丰田车营销网站建设的纲要计划书什么是网站空间信息
  • 自己搞个网站哪里购买网站广告位
  • 临潼建设项目环境影响网站专注于网络推广及网站建设
  • 网站建设佰金手指科杰十一关于网站建设的通知
  • 德网站建设做静态网站的开题报告
  • 网站建设主流技术及效果wordpress社
  • 小程序制作报价新乡搜索引擎优化
  • 有什么简单的网站项目大学网站建设的目标与思路
  • 国内个人网站欣赏网页设计怎么建立网站
  • 网站托管服务方案广告宣传册制作公司
  • 建网站的论坛建设网站的一般步骤是
  • 自己电脑做网站服务器小工具贵阳做企业网站
  • 优客逸家网站建设百度关键词搜索推广
  • 网站制作问题 图片版权哪些网站可以做设计软件