摘要:
解题思路:将所有串链接在一起,中间用不同的分隔符分割,求解后缀数组Height,二分求解连续长度>=k的公共子串是否包含了所有情况。代码 阅读全文
2010年11月30日
2010年11月29日
摘要:
解题思路:穷举长度为1到n/2的子串(L),如果子串连续出现两次以上,则两个连续的字串必定经过r[0],r[L],r[L*2]...中相邻的两个,所以在r[L*i]和r[L*(i+1)]分别往前和往后匹配。代码 阅读全文
2010年11月25日
摘要:
解题思路: 建立trie图,我们可以假设起点均为root节点,题目转化为求解root经过m步到达所有节点的总和 dp求解,如果存在i->j的路径,counter[m, j] += counter[m-1, i];初始条件为counter[0, root] = 1; 显然,还需要使用高精度代码如下:代码 阅读全文
2010年11月24日
摘要:
解题思路:建立输入单词(反向,便于寻找起始点所在的位置)的AC图,然后按照八个方向依次寻找(注意方向也为方向)。例如A是向上方向,我们需要改为反向,向下。那么我们需要将每列--从上到下方向--组成的字符串--共width个--分别到AC图中查找匹配。关键代码已经注释[代码] 阅读全文
2010年11月23日