AC自动机
文章平均质量分 77
冷月残星
这个作者很懒,什么都没留下…
展开
-
AC自动机(出现次数最多的子串,LA 4670)
#include#define maxn 20010#define maxsize 26using namespace std;int ans;int sum[maxn];/////////////////////////////////////////字典树int ch[maxn][maxsize];int val[maxn],sz;void init(){ mem原创 2016-12-14 17:11:49 · 502 阅读 · 0 评论 -
AC自动机,概率,递推(子串,UVA 11468)
一是记忆化搜索时数组开小了。二是忘写getfail毁一生,竟然还能过样例。本来昨天晚上就可以过掉的题目搞到今天中午。。。感觉自己空手debug能力好差,很多逗比的错误都发现不了。真的要一步一步仔细做好了。代码#include#define maxn 500#define size 62using namespace std;int ch[maxn][siz原创 2016-12-15 12:54:33 · 267 阅读 · 0 评论 -
AC自动机(Matrix Matcher,UVA 11019)
看到二维的,还以为有什么二维字典树,什么字典树套字典树之类的鬼东西。其实就是建立一个字典树,然后对每行进行匹配,然后再把匹配结果刷表在一个二维数组里。最后看看二维数组的状况就好了。具体来讲,就是说如果在i行j列处完成了第k个字符串的匹配,那就在cnt[i-k][j-Y+1]处++。最后遍历一下cnt数组,如果cnt[i][j]==X就说明是一个匹配点。然后要判重,所以一次匹配成原创 2016-12-15 15:03:55 · 251 阅读 · 0 评论 -
AC自动机,Tarjan(ZOJ 3784,String of Infinity)
想了很久,改造AC自动机,然后跑Tarjan求强连通,最后对每个强连通dfs一下,过了,觉得很开心。之后上网看题解,发现原来数据那么水,很多错得非常离谱的思路以及代码都能AC。。。感觉有点失望,我觉得出题人不应该这样弄的。但是很多时候事实就是这样的,很让人无奈,很让人不甘,很让人不能理解,但是这个世界只有成王败寇,输了就得失去一切,胜者说什么都是对的。嗯嗯,没关原创 2017-04-26 18:26:08 · 355 阅读 · 0 评论