http://poj.org/problem?id=2778
做法:利用AC自动机建矩阵之后进行N次矩阵乘
关于AC自动机配快速矩阵幂的理解:
1.题目限制10个字符串长度最多为10,那么建出的AC自动机的结点数至多为100
2.任意合法字符串必定通过nxt指针在AC自动机的结点之间转移
3.那么我们只要求出每次结点之间转移的数量,建立一个矩阵,就可以通过快速矩阵幂优化了
4.对于不合法的结点(病毒),将特定的转移次数设定为0即可。
5.注意不合法的结点除了插入的时候字典树上不合法的结点之外,所有fail指针指向不合法结点的及其后缀都是不合法结点,因为fail指针指向结点是该节点的后缀
#include