算法学习:扩展KMP

假设现在有两个字符串,分别为 S 与 T ,其中 S 为待匹配的串,T 为进行匹配的串,现在我需要知道 S 的每一位开始,分别可以匹配成功 T 串中从头开始的连续的多长子串。

算法学习:后缀数组

把字符串 str 的每一个后缀按照字典序排序后所形成的数组。

算法学习:线性基

基(basis)是线性代数中的一个概念,他是描述、刻画向量空间的基本工具。向量空间的基是它的一个特殊的子集,基的元素被称为基向量。向量空间中的任意一个元素,都可以唯一地被表示成基向量的线性组合。异或空间基向量,被称为线性基。

算法学习:尺取法

假设给你一个数组与一个整数,要求你的到这个数组中的一个子区间使其的区间和等于这个整数,你会怎么做呢。可能首先想到的就是开一个双重循环,然后每一次都求一次和,然后和给定的数进行比较……

算法学习:倍增思想

个人认为来源于二进制的思想。对于如图式的一系列区域。以往的记录方式,都是从A出发,走一步到了A右面一格,走两步到了A右面两格位置……

算法学习:字典树、KMP与AC自动机

字典树(又称为单词查找树,Tire 树)是一种树形结构。它与字典相似,当要查找的一个单词是否在字典树中,首先看单词的第一个字母是否在字典树的第一层……