链接:http://acm.hdu.edu.cn/showproblem.php?pid=5955
题意:有一个6面的骰子,有n个人每个人猜了一个长度为l的序列,不停的掷骰子直到满足一个人的序列则那个人获胜,求每个人获胜的概率。
分析:因为是一些序列之间状态概率的转变,很容易想到AC自动机的fail树的转换,我们从fail树上确定了各个状态的转变概率就可以得到一个方程组,然后高斯消元求出各个节点的概率就行了。细节:1,叶子节点不需要转变。2,根节点为概率1。3,非叶子节点到根的概率*根到第一层节点的概率要记得处理。
代码:
#include
推荐阅读