随笔分类 -  AC自动机

摘要:首先建出 $S$ 的AC自动机和fail树 要使T中每个字符串只被计算一次,那么就得在dfs序相邻的两个节点的lca处 1 阅读全文
posted @ 2020-02-28 14:26 Mrzdtz220 阅读(94) 评论(0) 推荐(0)
摘要:首先建出AC自动机,只要记录一下节点的父节点即可 然后AC自动机字符串匹配的过程是先把字符串放进trie树里,把每个节点拿出来,然后再从每个节点沿着fail走 也就是如果一个字符串 $s$ 出现在另一个字符串 $t$ 中,那么在fail树上 $s$ 是 $t$ 的祖先节点 离线询问,查询 $x$ 在 阅读全文
posted @ 2020-02-28 14:22 Mrzdtz220 阅读(97) 评论(0) 推荐(0)
摘要:平移、旋转、放缩对两个相似三角形没有影响,那么一个长度为 $n$ 的轨迹就可以描述为 $n-2$ 个三角形,每个三角形就用相邻两边长来描述,还得加上第二条线段在第一条线段的逆时针还是顺时针方向,因为如果不加这个就会出现翻不翻转带来的影响,然后就变成了字符串匹配了。不过由于字符集很大,得用 map 来 阅读全文
posted @ 2020-01-25 17:59 Mrzdtz220 阅读(161) 评论(0) 推荐(0)
摘要:存个板子 #include <bits/stdc++.h> using namespace std; const int maxn = 1e6 + 10; int trie[maxn][26]; int flag[maxn]; int fail[maxn]; int tol; void Insert 阅读全文
posted @ 2019-04-09 22:10 Mrzdtz220 阅读(174) 评论(0) 推荐(0)