摘要: 给出至多10个字符串。。长度不超过10。。且字符串均由ATCG四个字母组成。构造一个长度为L的串。使给出的字符串均不是它的字串。求方案数。对给出的字符串构造AC自动机。然后在AC自动机上进行DP。。对于ac自动机,每输入一个字符。其对应自动机上的结点也发生移动。f[i][j]表示第i个字符之后位于自动机上第j个结点。f[i][j]=k0*f[i-1][0]+k1*f[i-1][1]+k2*f[i-1][2]+......由于L太大。构造矩阵后用矩阵快速幂求解。(具体看这里http://blog.henix.info/blog/poj-2778-aho-corasick-dp.html)#inc 阅读全文
posted @ 2013-09-24 13:06 qinhang3 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 题意与poj2778类似,给出禁止出现的字串,求构造长度为L的字符串的方案数。AC自动机+DP题目没有要求结果取模。所以需要使用高精,于是写了java输入字符可能包含不可见字符。。java中的char和C中的char不一样。。。。java写AC自动机写丑了。。。 = =。。由于L不大。所以直接dp就可以了。dp方程:http://blog.henix.info/blog/poj-2778-aho-corasick-dp.htmlimport java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamR 阅读全文
posted @ 2013-09-24 13:01 qinhang3 阅读(172) 评论(0) 推荐(0) 编辑