「POJ-2778」DNA Sequence
AC自动机+矩阵快速幂,求长度为n且不包含任一不合法子序列的序列数量
题意
给定m个不合法序列,求所有长度为n,且不包含任何不合法子序列的序列数量(序列中只含A,T,C,G四个字符)。
思路
对于给定的m个序列,构建trie树。对于trie树上每一点的单步可达关系建立邻接矩阵,对矩阵求其n次幂,$\sum_{i=1}^n{matrix[0][i]}$即为所求解。
代码
1 |
|
「POJ-2778」DNA Sequence
AC自动机+矩阵快速幂,求长度为n且不包含任一不合法子序列的序列数量
给定m个不合法序列,求所有长度为n,且不包含任何不合法子序列的序列数量(序列中只含A,T,C,G四个字符)。
对于给定的m个序列,构建trie树。对于trie树上每一点的单步可达关系建立邻接矩阵,对矩阵求其n次幂,$\sum_{i=1}^n{matrix[0][i]}$即为所求解。
1 | #include <cstdio> |