KMP(性质)

整理一下关于KMP算法的理解和思考:
1.KMP可用于字符串匹配,可以确定最小循环节
2.KMP形成的fail指针形成KMP树型结构,标号严格递增,可倍增,(NOI2014动物园可以水过,然而整体递推是线性复杂度更好,用到的技术是过程模拟加重构,模拟的目的是得到总体信息,根据整体信息组织重构部分信息就好)类似小根堆但不是完全二叉树(出题?我不毒瘤,,,)
3,根据2可求出字符串的所有前后缀匹配,不断在树上爬就好
4.AC自动机是KMP的拓展
5.KMP树不断fail得到的序列,能被分为不超过logn个等差数列,非常好证明递推就好了(利用这条性质可以做WC2016论战捆竹竿然而我还是不会线段树构图,待填坑)
6.在这里提出一个个人解决不了的问题:如何动态维护一棵KMP树?支持修改?删除插入?或者历史查询,,?感觉该变量非常大,分块合并,添加”?“字符,然而并不会,,,,

你可能感兴趣的:(KMP(性质))