随笔分类 - 字符串--AC自动机
摘要:题面 "Bzoj" Sol $AC$自动机上$DP$ 总数$ $不合法 cpp include define RG register define IL inline define Fill(a, b) memset(a, b, sizeof(a)) using namespace std; typ
阅读全文
摘要:题面 "传送门" Sol 建出AC自动机后DFS能走的点,如果能走回来就可行 cpp include define IL inline define RG register define Fill(a, b) memset(a, b, sizeof(a)) using namespace std;
阅读全文
摘要:题面 "传送门" Sol AC自动机+栈,每次匹配到栈顶减去这个单词的长度,回到之前的状态 最后栈中留下的就是答案 cpp include define IL inline define RG register define Fill(a, b) memset(a, b, sizeof(a)) us
阅读全文
摘要:题面 "传送门" Sol 首先有个很显然的暴力,构建AC自动机 每次询问$x, y$就$y$暴跳$trie中的父亲$,$跳fail$检查是否有$x$的结尾 cpp include define RG register define IL inline define Fill(a, b) memset
阅读全文
摘要:题面 "传送门" Sol 在AC自动机上跑数位DP 设$f[i][j][0/1]$表示到$n的第i位$当前匹配到$AC自动机的j节点$的方案 转移就在AC自动机上跑 注意不能有前导零,可能有这种情况$000000$不能存在那么前导零就有问题 所以要单独把小于$n$的位数的数单独算出来,等于$n$的位
阅读全文
摘要:题面 "传送门" Sol 先建立AC自动机,trie树上每个字符串结束的位置记录下它的长度$len$ 设$f[i]$表示前$i$个字符是否被翻译 在AC自动机上匹配,跳$fail$转移,该点为$x$,则$f[i]$由$f[i len[x]]$转移而来 ~~太菜了不会trie的暴力~~ cpp inc
阅读全文
摘要:Sol AC自动机模板题 cpp include define RG register define IL inline define Fill(a, b) memset(a, b, sizeof(a)) using namespace std; typedef long long ll; cons
阅读全文
摘要:AC自动机建立fail树后树上DP # include <stdio.h> # include <stdlib.h> # include <iostream> # include <string.h> # include <algorithm> # include <queue> # define
阅读全文

浙公网安备 33010602011771号