随笔分类 - 数据结构->字符串->AC自动机
摘要:LOJ 3089. 「BJOI2019」奥术神杖 看见乘积就取log,开根号就是除法,很容易发现这就是一道01分数规划。。 然后建出AC自动机直接dp就行,判断条件要设成 0,因为起点的值是1,取完ln后是0 cpp include define fi first define se second
阅读全文
摘要:题解 好神仙的题啊 感觉转二维平面能想到,算重复情况的方法真想不到啊 通过扒stdcall代码获得的题解QAQQQQ 我们先把$p_i$正串反串建出一个AC自动机来 然后我们把s串放在上面跑匹配,正着跑一遍,反着跑一遍,我们就得到了$s$中每个位置正着和反着能匹配到的节点编号 然后对于AC自动机,我
阅读全文
摘要:题解 我们发现第一种操作肯定不可取,每个节点里它最近的点是它最长出现过的后缀,发现这就是AC自动机的fail节点,根据fail的关系这会是一棵树,而一个单词的前一个序号最大的后缀必定是它的父亲 然后我们考虑怎么获得最小值,x是肯定要加上的,我们让每次减掉的y最小 一个错误的想法:按照儿子个数分类,建
阅读全文

浙公网安备 33010602011771号