完全不会啊,看题解还看了好久,我是蒟蒻$QAQ$ $zyf$的题解挺好的:http://blog.csdn.net/clove_unique/article/details/51059425 $fail树$的性质完全不知道啊,只好现学,,, 根据读入的顺序来扫$Trie树$并更新树状数组真的好神!我一辈子都想不出来$TwT$ 还有$dfs序$那里我还想了好久,,,聪哥说我的表情一脸懵逼 最终看(抄)题解做出来了,用了$4h+$,我好制杖 #include<queue> #include<…
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2434 [题目大意] 给出一个打印的过程,'a'-'z'表示输入字母,P表示打印该字符串 B表示删去一个字符.问第x个打印的字符串在第y个打印的字符串中出现的次数 [题解] 我们根据打印的过程建立trie树, 当x是y的子串当且仅当y到根的链上有fail指针指向x的结尾, 而x在y中的出现次数则取决于有几个这样的指针, 我们根据fail指针建立fail树,按照fail树的dfs序进行统…
题意 https://loj.ac/problem/2444 思路 ​多串匹配,考虑 \(\text{AC}\) 自动机.模拟打字的过程,先建出一棵 \(\text{Trie}\) 树,把它变成自动机.对于每一个询问 \((x,y)\) ,相当于求 \(y\) 在 \(\text{Trie}\) 上的父节点中,有多少个是 \(x\) 在 \(\text{fail}\) 树上的子节点. 不难想到离线,我们对于 \(y\) 记录所有 \(x\) ,求出 \(\text{fail}\) 树上的 \(\…
Problem Description 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机.打字机上只有 \(28\) 个按键,分别印有 \(26\) 个小写英文字母和 B . P 两个字母. 经阿狸研究发现,这个打字机是这样工作的: 输入小写字母,打字机的一个凹槽中会加入这个字母(按 P 前凹槽中至少有一个字母). 按一下印有 B 的按键,打字机凹槽中最后一个字母会消失. 按一下印有 P 的按键,打字机会在纸上打印出凹槽中现有的所有字母并换行,但凹槽中的字母不会消失(保证凹槽中至少有一…
之前讲了[AC自动姬],今天我终于把这题给刚下来了...嗯,来给大家讲一讲. 题目描述: 打字机上只有28个按键,分别印有26个小写英文字母和'B'.'P'两个字母.经阿狸研究发现,这个打字机是这样工作的: 输入小写字母,打字机的一个凹槽中会加入这个字母(这个字母加在凹槽的最后). 按一下印有'B'的按键,打字机凹槽中最后一个字母会消失. 按一下印有'P'的按键,打字机会在纸上打印出凹槽中现有的所有字母并换行,但凹槽中的字母不会消失. 例如,阿狸输入aPaPBbP,纸上被打印的字符如下: a a…
题意 有一个打字机,支持三种操作: 字符串末尾加一个小写字母 字符串末尾减一个字符 输出这个字符串 经过不超过\(n\)次操作后有\(m\)组询问:\((x,y)\),表示第\(x\)次输出第字符串在第\(y\)次输出第字符串里出现几次 \(n,m \leq 10^5\) 题解 每次加减字符就在trie树上走,输出的话记录一下在哪个结点 然后考虑询问\((x,y)\)暴力怎么做:\(x\)应该是\(y\)一个前缀的后缀,于是我们对于从根到\(y\)路径上每个结点(这相当于枚举\(y\)的后缀),…
AC自动机(Aho-Corasick Automaton),虽然不能够帮你自动AC,但是真的还是非常神奇的一个数据结构.AC自动机用来处理多模式串匹配问题,可以看做是KMP(单模式串匹配问题)的升级版.常常见到这样的说法,AC自动机 = Trie树 + KMP. 原理初步 首先对于所有的模式串,我们先需要利用Trie树将其建起来.AC自动机最巧妙的部分在于失配指针(fail)的构建,也就类似KMP中的next数组,只不过现在变为了多模式串.在匹配的时候沿着trie树走,发现不匹配即跳转失配指针,…
「BZOJ 4228」Tibbar的后花园 Please contact lydsy2012@163.com! 警告 解题思路 可以证明最终的图中所有点的度数都 \(< 3\) ,且不存在环长是 \(3\) 的倍数的环.这是充分必要的,由于图不联通,其就是由若干个联通块组成的,每个联通块是一条链或者环长不是 \(3\) 的倍数的环,然后强上EGF就好了. 列出链的EGF和环的EGF \[ A(x)=x+\sum_{i\geq2}\dfrac{x^i}{2} \\ B(x)=\sum_{i>3,…
「BZOJ 3645」小朋友与二叉树 解题思路 令 \(G(x)\) 为关于可选大小集合的生成函数,即 \[ G(x)=\sum[i\in c ] x^i \] 令 \(F(x)\) 第 \(n\) 项的系数为为权值为 \(n\) 的二叉树的方案数,显然有 \[ F(x)=F(x)^2G(x)+1\\ F^2(x)G(x)-F(x)+1=0 \\ F(x)=\dfrac{1\pm\sqrt{1-4G(x)}}{2G(x)} \] 当 \(x\to 0\) 时,\(F(x)\) 的值为 \(1\)…
「BZOJ 4502」串 题目描述 兔子们在玩字符串的游戏.首先,它们拿出了一个字符串集合 \(S\),然后它们定义一个字符串为"好"的,当且仅当它可以被分成非空的两段,其中每一段都是字符串集合 \(S\) 中某个字符串的前缀.比如对于字符串集合 \(\{ "abc","bca" \}\),字符串 \("abb"\),\("abab"\)是"好"的 \(("abb"=…