POJ2778 DNA sequence[自动AC机&矩阵快速幂]
题意:给定m个病毒的DNA序列(由AGCT组成),求长度为n的不包含病毒子串的DNA序列由多少个(模1e9+7),范围m
题解:如果一个点走到下一个点就构成病毒,则这条边为非法边。易知原病毒的倒数第二个字母走到最后一个字母为非法边,但是不局限于这样的非法边。因此需要AC自动机的fail指针,如果fail指向的节点有病毒标记,则将这条边也打上病毒标记。然后将边的数量累计一下记录在邻接矩阵里,将这个
原创
2015-12-24 22:20:55 ·
483 阅读 ·
0 评论