- 博客(4)
- 收藏
- 关注
原创 UVa 11019 Matrix Matcher
题目链接UVa 11019 Matrix Matcher题解 这种二维化一维的方法并不少见但是我觉得我还是想不出来. 字符矩阵P可以先拆成很多行然后合成一个AC自动机,然后去匹配T的每一行,然后用cnt[i][j]表示以(i,j)为左上角这个大小为P的矩阵里有多少行与P匹配,那如果达到x了的话就是一个匹配点,当在T的第r行匹配到P的第i行(也就是AC自动机里面编为i的模
2016-04-26 11:54:44 500
原创 UVa 11468 Substring
题目链接UVa 11468 Substring题解 我保证如果我自己想这道题起码要想一个星期,因为学了AC自动机完全不会用,woc而且每次都要忘记调用getfail QAQ也是够了. 乍一看有很多模板,就用字典树吧,随机一个字母就相当于走一步嘛,就相当于不断在匹配你生成的这个字符串.涉及到匹配和多模板问题当然就是AC自动机了.这里要用改造后的AC自动机(就是不用顺着f
2016-04-26 11:36:56 384
原创 UVa11732 "strcmp()" Anyone?
原题题目传送题解 用Trie把所有单词合起来,插入一次就统计一次这个单词和已插入的单词比较的次数。也就是相同部分前缀长度*2+1.但是注意两个完全相同的单词比如说a a需要比4次,因为最后的结束符号也是一样的,还有就是左儿子右兄弟表示法,好好学习QAQ。代码#include<queue>#include<cstdio>#include<cstring>#include<iostream>
2016-04-12 15:56:21 922
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人