- 2024-09-28acam 小记
acam作为多模匹配算法,很多东西与kmp相同,另外增添了fail树上操作的关键性质。朴素acam就是trie树,fail指针就是在当前node找一个后缀,使得在其他串存在一个前缀是这个后缀(类似kmp)。trie图,就是简单优化了这个"树上乱跳"的过程,补全每个节点的儿子,类似于路径压缩。其实
- 2024-09-08BZOJ 4231 回忆树
以下为自己口胡,未经网上搜索题解验证Statement一棵\(n\)个点的树,每条边有一个小写字母边权,\(m\)次询问,每次给定\(u,v,s\),问字符串\(s\)在\(u\tov\)路径组成的字符串中出现了几次。\(n,m\le10^5,\sum|s|\le3\cdot10^5\).SolutionSol1把\(u\tov\)路径拆成\(u\t
- 2024-08-01【笔记】字符串选讲 2024.8.1
[COCI2015-2016#5]OOP(Trie)P6727[COCI2015-2016#5]OOP-洛谷|计算机科学教育新生态(luogu.com.cn)正反串分别建Trie,可以搞出两个dfn区间,加之长度限制,三维数点。有\(O(n\logn)\)做法。将字典串\(S[1..m]\),对所有\(1\leqi\leqm\),将\(S[i+1,m]\)的hash值插入
- 2024-07-28AC 自动机学习笔记
preface第一次写ACAM模版是2023.7.02,现在重新回顾了一下,还是有不少新的理解的,或者说一些概念更加清晰了。1.引入思考这样一个问题:给若干模式串,求询问串中出现了多少个模式串。暴力肯定是一一比对,复杂度是\(O(n^2)\)以上的,可以哈希一下,那复杂度就是\(O(n^2)\)。回想
- 2024-05-22String Record
T1.P5840算法:ACAM+BIT+树链剖分自然地,我们会对\(s_i\)建ACAM,然后建出一颗fail树。此时我们考虑集合内加入一个新的字符串。每一个匹配到的点我们都会给从这个点一直到fail数的根节点上的的每一个点\(+1\),但是每一个点只会加一遍。然后对于这棵树上的一个节点,他对最后
- 2024-03-20The 14th Jilin Provincial Collegiate Programming Contest
The14thJilinProvincialCollegiateProgrammingContest-Codeforces队友太猛了,我整场就只写了D,其他题给队友开完了,预计补一下M,FProblemD.Trie(AC自动机+树状数组)大概就是给定一颗Trie树操作一是给Trie树的fail树上一个集合中的点的所有子节点打上一个
- 2024-03-18ACAM PT2G-SM5.3 涡轮增压器转速传感器
涡轮增压器转速传感器(Turbochargerspeedsensor)是一种用于测量涡轮增压器(Turbocharger)转速的传感器。涡轮增压器是一种通过废气能量来增加发动机进气压力的装置,用于提高发动机的输出功率和燃油经济性。转速传感器可以监测涡轮增压器的转速,并将转速信号传送给发动机控制单元
- 2024-02-18模板默写
别到时候题会做了板子不会写……数据结构主席树ProbFHQTreap可持久化FHQTreap图论支配树Prob上下界最大/最小流带负圈的费用流数学万能欧几里德杜教筛字符串ACAMSASAMGSAM……
- 2024-02-111~2 月冬眠
1月末到2月有点喜欢睡觉了。好多东西都没学,好多东西都不会。这是我认为比较好的资源:inWCACAM还没看/ng/lhPAMathome(alloiwiki/kx)GFtreap左偏树虚树圆方树hibernatingSAM(感觉很多都写得好长……)tobecontinued...
- 2023-12-15KMP & ACAM
KMP例:在a串中查找b串的位置。(len<=1e6)O(n2)的暴力是好想的。两层循环,第一层遍历a串,第二层遍历b串,对应比较即可。但我们会发现对于a串,我们每次都不断将循环变量i右移,可匹配失败后,又将i返回至右移之前的位置。太劣了,所以我们选择取消i的返回操作,每次用b串去匹配a串。但当b失
- 2023-10-302021 CCPC 哈尔滨
gym开场zsy签了J,gjk签了B,我读错了E的题(\(=\bmod\)而不是\(\equiv\pmod2\)),gjk读对后过了zsy读了K给我,我记得是模拟赛原题,跟欧拉定理有关,但很难。他俩过了DI,我大概会了G但不会DP期望,跟zsy无效交流了一会凭感觉写1A了。C好像也是模拟赛原题就丢给他俩了L
- 2023-09-27ACAM 学习笔记 | 附 YbtOJ 全部题解
怎么有人现在才学ACAM呢。好像比SAM简单挺多啊,也不记得当时是哪里看不懂。AC自动机(✔)自动AC机(✘)概述ACAM(Aho–CorasickAutomaton),是用来解决多模式串匹配的字符串算法。它的结构是个DAG,其中点表示状态,边表示转移。这一点上各种自动机都是相同的。具体来说,可以感性
- 2023-09-21SS秋季训练1
https://vjudge.net/contest/579844Asource:Gym104420D位运算构造,超过一定范围必定无解。打表找规律Bsource:Gym104420E考虑每个数只被拿一次意味着只会走成一个区间并拿走区间里的数,预处理左/右走出去再回来的最大值,前后缀优化dp。Csource:Gym100548G一个串\(s\)
- 2023-08-13ACAM
AC自动机定义定义trie树上的节点代表其形成的前缀令fail树为trie树上的节点向被fail指针指向当前节点的点连边,形成的以trie树的根为根的树\(son[\,i\,][\,now\,]\)为\(now\)节点后加入字符\(i\)的转移节点默认字符集为\(O(1)\)ACAM解决多模式串的匹配问题
- 2023-05-07AC 自动机学习笔记
前置知识:\(\texttt{trie}\)树。不会的话到这篇博客看看吧。前置知识:\(\texttt{kmp}\)。不会的话到这篇博客看看吧。字符串好的题单。下面设所有字符串的大小之和为\(|\Sigma|\)。\(\texttt{AC}\)自动机(也叫\(\texttt{ACAM}\))\(\texttt{ACAM}\)时为了解决\(\lceil\)多个
- 2023-03-22牛客14612 string AC自动机 + 树状数组
传送门题目大意 有T组测试数据,对于每组测试时局有一个n和m,n表示初始拥有的字符串数量,m表示操作数量。紧接着输入n个字符串,再读入m行操作,每行以xstr的形式给出,如果x为
- 2023-03-12【题解】CF1801G A task for substrings
考虑拆开贡献,前缀贡献痕容易算。而跨越\([l-1,l]\)的贡献,考虑在正串ACAM找到\([1,l-1]\),反串ACAM找到\([l,r]\),那么要做的就是在两串的fail链祖先上,找到能凑成完
- 2022-11-06【模板】AC 自动机
postedon2022-06-1111:17:10|under模板|sourcetemplate<intN,intM=26,intD='a'>structacam{ intch[N+10][M],cnt[N+10],tot,fail[N+10]; intsum[N+10],i
- 2022-11-06AC-automaton
【模板】AC自动机postedon2022-06-1111:17:10|under模板|sourcetemplate<intN,intM=26,intD='a'>structacam{ intch[N+10][M],cnt[N+10],tot,fail[N+10]