zoukankan      html  css  js  c++  java
  • 后缀自动机(我太蒟了!)

    一篇十分详尽的讲稿

    一.概念:

      对于关于字符串S的SAM,它将包含且只包含S所有子串。

    二.关键(endpos类):

      对于一个子串T,它在原串出现的位置的右端点组成的集合为它的endpos集合。

      对于一个子串有其唯一的endpos集合,对于一个endpos类包含了多个子串。

      关于一个字符串的任一endpos类,它所包含的子串互为后缀

      任两个不同的endpos集合存在且只存在两种集合关系:属于或无交 。(此性质为其能形成树形结构奠定了基础。)

    三.性质:

      1.双面性:它存有两种边,分别与节点组成 DAG图 和 树形结构 ,且节点在两种结构中的意义大有区别

      2.关于 DAG图 ,一个节点表示的是一个字符,从超级点出发的任一条路径的字符顺次连接组成的字符串为原串的一个子串。

      3.关于 树形结构 ,一个节点表示的是一个 endpos类 。对于存在祖代关系的两个节点 ,满足祖辈节点表示的 endpos集合 包含后辈节点表示的endpos集合 。而且一个节点进而能表示一坨互为后缀且连续的字符串。一般我们会记录每个节点在此意义下表示的字符串中最长的字符串的长度。而且这个最长的字符串的所有后缀将被此节点到超级点的所有节点无重复的包含。

      4.对于每一个节点,在 DAG图 上从超级点跑到当前点的所有字符串能被一个集合表示,而考虑在 树形结构 中也存在一个集合。其实这两个集合等价。

  • 相关阅读:
    UVA1349 Optimal Bus Route Design 最优巴士路线设计
    POJ3565 Ants 蚂蚁(NEERC 2008)
    UVA1663 Purifying Machine 净化器
    UVa11996 Jewel Magic 魔法珠宝
    NEERC2003 Jurassic Remains 侏罗纪
    UVA11895 Honorary Tickets
    gdb调试coredump(使用篇)
    使用 MegaCLI 检测磁盘状态并更换磁盘
    员工直接坦诚直来直去 真性情
    山东浪潮超越3B4000申泰RM5120-L
  • 原文地址:https://www.cnblogs.com/wyher/p/11027923.html
Copyright © 2011-2022 走看看