[BZOJ 1009][HNOI2008]GT考试

danihao123 posted @ 2017年2月01日 17:05 in 题解 with tags KMP 动态规划 HNOI 矩阵乘法 bzoj 省选 快速幂 , 861 阅读
转载请注明出处:http://danihao123.is-programmer.com/

好劲啊这题……

首先先想DP的做法,我们用表示若字符串已匹配前缀,有多少种方案使得追加上一个数后匹配,这个用KMP可以很方便的求出(事实上暴力也可以)

然后再来看DP的做法,转移方程大致是这样的:

但是n非常大,这么做注定要TLE。

不过看这个转移方程,是不是和矩阵乘法的定义很像?是的。

我们可以用一个的矩阵来表示某一个阶段的DP值,我们可以把组织成一个矩阵。然后我们可以发现:

由于矩阵乘法满足结合律,所以:

很明显可以快速幂搞出来。

代码:


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter