ac自动机
SC.ldxcaicai
我很菜=_=
展开
-
codechef Favourite Numbers(二分+数位dp+ac自动机)
传送门题意:给444个整数L,R,K,nL,R,K,nL,R,K,n,和nnn个数字串,L,R,K,数字串大小≤1e18,n≤65L,R,K,数字串大小\le1e18,n\le65L,R,K,数字串大小≤1e18,n≤65问[L,R][L,R][L,R]中第KKK小的拥有nnn个数字串中至少一个串作为子串的数。思路:一看就要二分答案,现在考虑统计[L,R][L,R][L,R]中有多少个...原创 2019-02-15 15:37:51 · 174 阅读 · 0 评论 -
bzoj2434: [Noi2011]阿狸的打字机(ac自动机+dfs序+bit)
传送门题意:有一个打字机,有三种操作:打一个小写字母删去最近打的一个小写字母将打印当前的字符串现在多组询问,每次问第xxx个被打印串在第yyy个被打印串中出现次数。思路:按照题意先建出trietrietrie树与failfailfail树。然后考虑第xxx个打印串在第yyy个被打印串中出现次数等于failfailfail树上面xxx子树中属于字符串yyy的节点数。于是我们离...原创 2019-07-13 22:13:55 · 108 阅读 · 0 评论 -
bzoj3172: [Tjoi2013]单词(ac自动机)
传送门题意:某人读论文,一篇论文是由许多单词组成。但他发现一个单词会在论文中出现很多次,现在想知道每个单词分别在论文中出现多少次。思路:建出failfailfail树然后统计每个节点的sizesizesize即可代码:#include<bits/stdc++.h>#define ri register intusing namespace std;const int N...原创 2019-07-13 22:25:36 · 208 阅读 · 0 评论 -
bzoj1212: [HNOI2004]L语言(ac自动机)
传送门思路:对单词建出acacac自动机。然后每次用文章去匹配的时候我们暴力枚举当前点在failfailfail树上的所有祖先看是否有已经可以匹配的即可。代码:#include<bits/stdc++.h>#define ri register intusing namespace std;const int rlen=1<<18|1;inline cha...原创 2019-07-18 21:28:36 · 169 阅读 · 0 评论 -
NOIp训练 序列生成(ac自动机+数位dp)
传送门题意:有一个生成正整数序列的机器,给出一些数字串,包含操作码的数字都不会被生成,剩余的数字都会被生成,多次询问这个串的第kkk个数,保证答案在intintint范围内。串数≤10\le10≤10,数字字串长度不超过101010,最多100100100次询问。思路:做法比较显然每次二分答案vvv,然后用acacac自动机辅助数位dpdpdp转移求出1,2,...,v1,2,...,...原创 2019-07-18 21:34:39 · 199 阅读 · 0 评论 -
NOIp训练 Magic boy Bi Luo with his excited string problem(ac自动机+高斯消元)
传送门题意:给你一堆字母串,现在你从空串开始每次随机一个字母放到空串末尾,直到与某个字母串匹配,问期望步数。数据范围:串数≤15\le15≤15,每个长度≤10\le10≤10。思路:建出所有字母串的ac自动机,然后上面每个节点可以从它的262626个sonsonson那儿转移过来,发现是有环的,上一发高斯消元即可。代码:#include<bits/stdc++.h>#...原创 2019-07-18 21:39:22 · 146 阅读 · 0 评论 -
NOIp训练 子串查找VII(树剖+ac自动机+dfs序+bit套主席树)
传送门题意:有一棵nnn个点的无根树,第iii个点上有一个字符串sis_isi作为编号和一个权值viv_ivi,现在有mmm次强制在线的询问/修改。询问:给出一个字符串SSS和一条路径(u,v)(u,v)(u,v),路径上iii点的贡献是sis_isi在SSS中出现次数*viv_ivi,问总贡献。时间复杂度:O(nlogn3),∑∣si∣,∑∣S∣,n,mO(nlogn^3),\s...原创 2019-07-17 19:36:24 · 228 阅读 · 0 评论