
字符串---AC自动机
字符串---AC自动机
长沙大学ccsu_deer
这个作者很懒,什么都没留下…
展开
-
HDU2222( AC自动机两种模板)
题目链接题意就是给n 个单词,然后给你一个文本串。问在这个文本串中出现这n个单词的数量。用一个val[i]保存i节点结尾的单词个数就可以了。两种模板:第一种来自我之前的博客:博客#include<bits/stdc++.h>using namespace std;const int M=60,N=1e6+10;char s[N];struct ac_auto{ int ne[N][26],val[N],fail[N],sz; void init.原创 2020-07-10 18:26:22 · 454 阅读 · 0 评论 -
2020 CCPC Wannafly Winter Camp Day2 Div.1&2(重现赛)(A(数学期望),C(异或博弈游戏),E(启发式合并),K(AC 自动机))
题目链接A-托米的字符串统计每个元音字母在长度为1,2,3....len 里的对答案的贡献。然后由于是随机抽取一个子串,那我就再除一下(n*(n+1)/2 子串总数)那么如何考虑求每个元音字母在长度为1,2,3....len 里的对答案的贡献看样例:legilimens第一,四,六,八是元音字母考虑第一位 'l':len=1 贡献次数:1le...原创 2020-01-28 00:33:30 · 574 阅读 · 0 评论 -
HDU 5880 Family View(AC自动机+差分数组)
刚学了AC自动机,那这个练练手,题意很简单,就是用*替换掉敏感的词汇,那么一个val[i]保存单词,dep[i]保存深度。。每次在文本串上跑AC自动的时候遇到val[i]不为0 的情况就跟dep[i]结合 得到区间单词,差分记录一下就可以了,AC自动机的模板题#include<bits/stdc++.h>using namespace std;const int M...原创 2019-12-07 15:20:17 · 331 阅读 · 0 评论 -
HDU2222(AC自动机模板+查询文本串中出现单词的总个数)
题目链接其实原理我很久以前就会,一直没用,现来贴模板:题意就是给n 个单词,然后给你一个文本串。问在这个文本串中出现这n个单词的数量。。。用一个val[i]保存i节点结尾的单词个数就可以了。。#include<bits/stdc++.h>using namespace std;const int M=60,N=1e6+10;char s[N];struct a...原创 2019-12-07 14:50:56 · 284 阅读 · 0 评论 -
ac自动机模板题
The Dominator of Strings HDU - 6208 Here you have a set of strings. A dominator is a string of the set dominating all strings else. The string SS is dominated by TT if SS is a substring of TT.In...转载 2018-10-14 18:52:29 · 444 阅读 · 0 评论 -
ac自动机模板
#include <bits/stdc++.h>#ifdef LOCAL#define debug(x) cout<<#x<<" = "<<(x)<<endl;#else#define debug(x) 1;#endif#define lson id<<1,l,mid#define rson id<&...转载 2019-02-27 10:09:08 · 301 阅读 · 0 评论