后缀树与后缀数组初步

后缀树的定义 假定给定一个长度为m的字符串S(下标从1到m),S的后缀树T为一个有m个叶结点的有根树,其叶节点从1到m编号;除了根节点之外,每个内部结点至少有两个孩子;每条边上都标有S的一个非空子串;从同一个结点引出的任意两条边上标的字符串都不会以相同字符开始·(晚上提早熄灯,待填)
分类: 其他 发布时间: 05-01 22:29 阅读次数: 0

后缀树与后缀数组的简介,定义,构建算法

————《高级数据结构》 1。后缀树的简介 后缀树在1973年被首次提出,当时叫做position tree,该算法能够在线性时间内构建后缀树.,几年之后,又有了另外一种不同的线性算法,这种新算法更加节省空间,可以说是对原来算法的大幅度优化。1995年,在此基础上提出了第一个能在线构建的后缀树,并且该算法以一种更加容易理解的方式呈现。在此之后对后缀树研究,主要是将其应用到不同场景后的变化,如对字符串的适应能力,在外部构建(即借助磁盘构建大型后缀树),压缩以及简化等。 本文主要考虑字符串所包含的
分类: 其他 发布时间: 05-01 22:29 阅读次数: 0

后缀树继续

优化: 1。后缀链加速。 首先我们定义后缀链。我们用ap老表是一个字符串,其中a为单个字符,而p可以是包括空串在内的任意字符串。在隐式树中,如果一个节点v的路径标记对应ap,而节点s(v)对应标记p,那么我们建立从v指向s(v)的指针,称作从v到s(v)的后缀链,特别是如果p为空串,那么有从v到根节点的后缀链,根节点没有后缀链。 关于后缀链的维护,将在之后介绍。假定我们在当前树中维护好了后缀树,并且每个节点(除根节点)都有后缀链。所以,我们先研究如何将后缀链应用于加速。 在上面的朴素算法中的第
分类: 其他 发布时间: 05-01 22:29 阅读次数: 0

后缀树完整优化方案

————《高级数据结构》 技巧一: 每条边维护对应字串的长度(一下简计为边的长度Length(edge))。回想后缀树的定义(这里是隐式树),“从同一个节点映出的任意两条边上标的字符出纳都不会以相同字符开始”,所以我们只需要知道引出边的第一个字符串都不会以相同字符开始,所以我们只需要把知道引出边的第一个字符就知道往哪里走了。而该边的其他字符我们并不需要一个一个检验,只需要比对对应的子串长度与当前要往下走的字符个数即可。过程描述如下: 1)当前边往下走的字符个数为C,我们可以根据映出边的第一个字
分类: 其他 发布时间: 05-01 22:29 阅读次数: 0

后缀树的实现形式

————《高级数据结构》 上述后缀树T是根据字符串S的所有后缀构建的。有时候这个S可以是要给字符串集合,所以后缀树T是根据所欲字符串的后缀构建的。这种后缀树也叫做广义后缀树。 一种很自然的构建方式可以给每个字符串加两两不同的结尾符,这些结尾符没有在任何字符串中出现过。然后,我们将这些添加了结尾符的字符串首尾相接作为一个整体来构建其后缀树。由于任何一个后缀都不是其他后缀的前缀,并且任意连个字符串的结尾符不同,所以我们还是可以方便地找到所需要的后缀。不过,这种实现方式会多了许多没有意义的后缀,在空
分类: 其他 发布时间: 05-01 22:28 阅读次数: 0

后缀树链表实现板子

由后缀树构建隐式树,划分i阶段 回顾 1. ukkonen的算法的伪代码 function buildplicitTree() {Build TreeT1; for i<-1 to m-1 do //处理阶段i+1 for j<-1 to i+1 do//处理第j次扩展 在当前树中找到字符串S[j…i]对应的位置,然后看是否需要添加字符S[i+1] } 规则1:串S[j…i]终止于叶节点,也就是说从根节点到该叶节点的路径标记为串S[j…i],此时只需要将该叶结点的父边的操作最后加上字符S[i+
分类: 其他 发布时间: 05-01 22:28 阅读次数: 0

5月份计划

——这是一场硬仗,一定要坚持!! (《高级数据结构》这本书终于快粗略的浏览完了,这个星期学到了很多东西,splay,trie,lct,后缀树,了解了lct后对之前b站上学的树链剖分有了新的认识,了解了lct之后对splay慢慢有了感情,再花几天时间把后缀数组,分块树了解一下,下个月一定要好好把图论补一补,之前学的强连通分量,拓扑排序都已经不记得了qaq,虽然知道可能两个月之后就要被集训队淘汰出局,但是一路学到了很多东西,这才是最重要的吧) 1.刷完待补的训练专题 2.完成luogu网校的tg,
分类: 其他 发布时间: 05-01 22:28 阅读次数: 0

关于git的学习资料整理

Git,是每个学习编程的人的预备课,也是必修课。 在一开始接触git的时候,就看着git窗口发呆,无从下手。 当时就有个想法:自己学会之后,一定要出一份教程,一份通俗易懂的教程,从安装到基本使用,再到深入理解,一步步写出来,配上图片。 有了想法之后,就开始收集资料,看视频教程,在这过程中发现:原来大家都有过这样的想法,也做出来了。只是有些很详细,有些很简单,有些像是照抄别人的....... 那么,自己还要重新自己去做一份吗? 不用的。自己重新做一份出来固然是好,不仅检查了自己掌握的效果,也出了
分类: 其他 发布时间: 05-01 22:28 阅读次数: 0

D - Monitor HDU - 6514 (二维前缀和差分处理)

  题目链接: D - Monitor HDU - 6514 题目大意:给你一个n*m的矩阵,然后在这个n*m的矩阵中有q个子矩阵被覆盖,然后q次询问,问你当前询问的子矩阵是不是被完全覆盖。 具体思路: 首先n和m不知道多大,我们可以把矩阵转换成点进行计算(i-1)*m+j.然后就是二维前缀和的处理了。 具体处理的时候是从下往上更新的,具体的端点赋值大体推理一遍就好了。 https://blog.csdn.net/K_R_forever/article/details/81775899 AC代
分类: 其他 发布时间: 05-01 22:28 阅读次数: 0

python 内存管理机制

都是
分类: 其他 发布时间: 05-01 22:28 阅读次数: 0

Swoole WebSocket 的应用

概述 这是关于 Swoole 学习的第三篇文章:Swoole WebSocket 的应用。 第二篇:Swoole Task 的应用 第一篇:Swoole Timer 的应用 什么是 WebSocket ? WebSocket 是一种在单个TCP连接上进行全双工通信的协议。 WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。 在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输
分类: 其他 发布时间: 05-01 22:28 阅读次数: 0

Python基础之函数参数与返回值进阶

参数作用:如果外界希望在函数内部处理数据,就可以将数据作为参数传入函数内部; 返回值作用:如果希望一个函数函数执行完成后,向外界报告函数的执行结果,就可以使用函数的返回值。 函数的返回值 进阶 利用元组返回多个函数值 可以用元组让函数返回多个值;如果函数返回的类型时元组,那么小括号可以省略;比如,以下两个就相等: return (temp, humidity) = return temp, humidity def measure(): """ 测量温度和湿度 :ret
分类: 其他 发布时间: 05-01 22:28 阅读次数: 0

打印图片的属性和实现另存图片功能以及使用numpy

上一篇我们已经学了如何读取图片的功能了以及和opencv的环境搭建了,今天接着来学习,哈哈哈,今天刚好五一,也没闲着,继续学习。 1、 首先我们来实现打印出图片的一些属性功能, 先来看一段代码: 1 import cv2 as cv 2 import numpy as np 3 4 5 def get_image_info(image): #定义一个函数来输出图片的属性 6 print(type(image)) #显示图片类型numpy类型的
分类: 其他 发布时间: 05-01 22:28 阅读次数: 0

AJPFX平台:01.29日内交易策略

AJPFX恒指: 恒指短线整体趋势仍然处在多头趋势中,下方27000仍然是短期内的第一支撑位,上方27800可以看做第一压力位,建议在此区间高抛低吸。由于其日线的整体形态仍然是以多头占主导,所以建议尽量以做多为主,顺势操作。 恒指1小时K线图 AJPFX外汇(黄金,原油): 美指在昨日(周一)日内整体波动较小,价格最高95.90,最低95.60。从短线趋势来看,美指偏震荡下行,日内暂时建议谨慎观望。 美指1小时K线图 欧美: 短线谨慎看涨,价格回调至1.1400--1.1410区间做多BUY,
分类: 其他 发布时间: 05-01 22:28 阅读次数: 0

广告小程序后端开发(4.导入地区数据)

1.将地区数据引入Area表: 1.uni-app自带的地址选择组件中,省、市、县的数组列表数据: 1.省级: [{ "label": "北京市", "value": "11" }, { "label": "天津市", "value": "12" }, { "label": "河北省", "value": "13" }, { "label": "山西省", "value": "1
分类: 其他 发布时间: 05-01 22:28 阅读次数: 0

保持计划,不要因为外界的施压而妥协

看了专题训练情况,总有憋着一口气想补完的感觉,但这种急躁不是一种正确的学习方式,一定不要着急,慢慢来,保持平衡,学习过程中戒骄戒躁戒气馁,以后的出路肯定会有的,不能因为看不到竞赛的希望就放弃,尝试学点服务器不耽误时间,也能调节心绪,平衡生活。
分类: 其他 发布时间: 05-01 22:28 阅读次数: 0

python Mysql 基本操作

1、mysql常用增删查改 连接: mysql -uroot -pgloryroad mysql -uroot -p password: mysql -h39.1.1.1 -uroot -pgloryroad 默认端口:3306 mysql -h39.1.1.1 -uroot -pgloryroad -P3306 #端口号 show databases; create database test51; #查看当前使用的数据库 use jin; select
分类: 其他 发布时间: 05-01 22:28 阅读次数: 0

AJPFX平台:01.30日内交易策略

AJPFX恒指: 恒指,昨日下探回升日线收长下影小阳K,确认修正完成,大级别多头依旧完好。60分周期,突破上升通道后加速,回撤通道上端支撑后二次反弹,确认支撑有效,日内需要注意再次破高的可能,上方关注阻力位27769;下方关注27270强弱分界线,整体低多为主。 操作上建议27400-27440多,损27270,看27760-28000!一样的道理,回撤后的上升,一定不能出现大阴线,一旦出现大阴线,多单也需调仓出局。 恒指1小时K线图 AJPFX外汇(黄金,原油): 美指在昨日(周二)日内继续
分类: 其他 发布时间: 05-01 22:28 阅读次数: 0

AJPFX平台:01.31日内交易策略

AJPFX恒指: 恒指上个交易日走势上冲到上方最高点是27574,下方跌到最低点位是27279。昨日恒指受股市影响,有媒体报道说19年将主要进行股票做空机制工作的实施一事,上证50把股指走势影响拉升,打破空头趋势。目前,盘面上看,K线昨日收线收了根下影线很长的差不多是T字形的K线。收于5日均线上方,短时间段均线还是往上走的。补助指标KDJ重合在一起了,MACD能量柱还是往上走。今日恒指整体趋势大概率还是呈现多头的,交易上,上方注意的点位是27750,27900。下方注意的点位是27465,27
分类: 其他 发布时间: 05-01 22:28 阅读次数: 0

CentOS7下安装Nexus私服及基础配置

环境准备 VMware上安装CentOS7 XShell/Xftp NexusOSS-3.10 jdk1.8 安装 使用root用户登录,将安装包均放置在/usr/local文件夹下 使用Xshell、Xftp、FileZilla或MobaXterm将上述jdk及nexus安装包上传至/usr/local tar -zxvf jdk-8u211-linux-x64.tar.gz tar -zxvf nexus-3.10.0-04-unix.tar.gz 此时安装就已经完成了,其实已经可以直接使
分类: 其他 发布时间: 05-01 22:28 阅读次数: 0