题意:
有m(10)个,长度最大为10的DNA序列,只包含A, T, C, G,这四个字母。
这m个序列是有疾病的。
然后问,有多少种长度为n(2e9)的DNA序列,不包含以上这些带疾病的序列。
解析:
这题的fail数组终于有卵用了!
详细的解析看这篇博客:
poj 2778
矩阵 M[ i , j ] 表示的是从 i 到 j 只走一步有多少种走法,所以M的n次幂就代表着从 i 到 j 走 n 步有多少种走法。
代表的就是串长为 n 时,有多少种不包含以上疾病的序列。
fail 数组用来构建标记是否不含带疾病序列的矩阵。
代码:
#pragma comment(linker, "/STACK:1677721600")
#include