HDU 2825 Wireless Password
AC自动机+状压DP的入门题 虽然不是很好意思,但我的确是先看了kuangbin的代码再敲的。 从AC自动机构建矩阵开始起的出现的那个结点状态,在之后做题中越來越显著。 因为AC自动机本身也没多少地方可以改了,这是一个成熟的算法。而考研我们的运用就只能在理解熟悉它的状态,并运用它的状态。 关于状态应用最明显的就是DP了。 这题之后尽量不看题解…… 说了一堆废话,下面放题解。 题意: 有一个长度为 n 的密码,给你一个 m 个字符串的集合。告诉你这个密码必定会包含这集合中的 k 个。 问密码的种数。 思路: 这道题应该是给出一个状态就很好理解了。 开一个三维数组,记 ( dp\left[ i \right] \left[ j \right] \left[ k \right] ) 为长度为 ( i ) ,在第( j ) 个结点,含有字符串数量的状态为 ( k ) 的可构字符串数量。 每次在AC自动机上跑的时候更新一下状态,最后再将包含字符串数量大于等于 k…