题面描述丢失了。。。 给n个串模板串,然后再给你m个串,对于这m个串的每个串,问在[L,R]的模板串中,在多少个串中出现过; 这题的正解是对于后m个串建AC自动机,然后离线,在fail树上树链求并。 然而我想脑抽地打一下后缀数组; 如果用后缀数组的话,跟喵星球上的点名差不多,但是要在[L,R]中,所 ...
分类:
其他好文 时间:
2017-07-14 16:22:30
阅读次数:
161
2542 单词 2013年省队选拔赛天津市队选拔赛 时间限制: 2 s 空间限制: 256000 KB 题目等级 : 大师 Master 2542 单词 2013年省队选拔赛天津市队选拔赛 2542 单词 2013年省队选拔赛天津市队选拔赛 时间限制: 2 s 空间限制: 256000 KB 题目等 ...
分类:
其他好文 时间:
2017-07-01 00:01:05
阅读次数:
248
#include #include #include #include #define Max 100 #define Mod 1000000007LL void read (int &now) { now = 0; register char word = getchar (); while (w... ...
分类:
其他好文 时间:
2017-06-16 23:12:13
阅读次数:
256
【算法】回文树 【题解】建回文数,然后一个回文子串出现的次数就是结点被访问的次数以及能包含它的结点被访问的次数。 根据fail树反向建新树,那么答案就是结点所在子树的权值和(权值就是结点被访问次数)。 #include<cstdio> #include<algorithm> #include<cst ...
其实很久以来我都把sam当成ac自动机了 ac自动机的建立比sam简单多了 直接暴力建字典树,然后暴力跑fail就好了 (挖个坑:去学fail树) 裸题A一道,岂不美哉 ...
分类:
其他好文 时间:
2017-06-04 18:29:10
阅读次数:
126
回文自动机讲解!http://blog.csdn.net/u013368721/article/details/42100363 pam上每个点代表本质不同的回文子串。len(i)代表长度,cnt(i)代表个数(要最后在fail树上dp一遍方可)。 答案直接枚举一遍结点,然后用len(i)*cnt( ...
2434 思路: 构建ac自动机; 抽离fail树; 根据字符串建立主席树; 在线处理询问; 询问x在y中出现多少次,等同于y有多少字母的fail能走到x; 1a,hahahahah; 代码: ...
分类:
其他好文 时间:
2017-05-16 12:56:27
阅读次数:
246
2746 思路: 建立ac自动机,然后把fail树抽出来; 然后在fail树上走lca(神奇); 代码: ...
分类:
其他好文 时间:
2017-05-15 15:42:38
阅读次数:
172
Description yz是Z国的领导人,他规定每个地区的名字只能为26个小写拉丁字母的一个。由于地 区数有可能超过26个,便产生了一个问题,如何辨别名字相同的地区?于是yz规定,一个 地区的描述必须包含它的所有上级,且上级按次序排列。于是,一个地区的描述是一个字符 串。比如说,一个地区的名字为c ...
分类:
其他好文 时间:
2017-03-16 03:15:59
阅读次数:
208
传送门 我好菜啊……这种题都不会做……lrd给我讲了之后我才会的…… 不难想到对所有询问串建AC自动机,然后可以在每次加进来一个文本串时维护一下答案,询问的时候直接回答。 每次扔进来一个文本串的时候fail树上经过的节点到根节点的所有节点的出现次数都会+1,但注意有很多节点会被算重了,这时就需要搞一 ...
分类:
其他好文 时间:
2017-03-14 21:12:00
阅读次数:
283