卧薪尝胆,厚积薄发。
Date: Sun Feb 24 10:05:52 CST 2019 In Category: NoCategory

Description:

给出一个字符串 $s$ 和 $k$ 个禁忌串 $s_1,s_2,\dots,s_k$ ,每次询问一个区间有多少个子序列不包含任何禁忌串作为子串,支持单点修改。
$s\leqslant 5\times10^4,\sum s_i\leqslant10,m\leqslant5\times10^4$

Solution:

先建出 $AC$ 自动机,首先我们可以设计一个 $DP$ ,记录一下当前这个点在什么位置,然后选它就是往后走一步,不选就是不动,发现这个转移可以写成矩阵的样子,于是用线段树维护区间矩阵连乘积就可以了,这个其实就是序列上的动态 $DP$ 。

Code:


没有代码
Copyright © 2020 wjh15101051
ღゝ◡╹)ノ♡