HDU 5966 Guessing the Dice Roll】的更多相关文章

题意有 N≤10 个人,每个猜一个长度为L≤10的由1−6构成的序列,保证序列两两不同.不断地掷骰子,直到后缀与某人的序列匹配,则对应的人获胜.求每个人获胜的概率. 思路:建立trie图,跑高斯消元.高斯消元每个点的意义是:第i行第j列的值为x 有概率x从点j转移过来 ; ; ; int ch[MAXNODE][SIGMA_SIZE]; int f[MAXNODE]; int sz; void insert(int* P, int len, int v) { ; ; i < len; i++)…
HDU 5955 Guessing the Dice Roll 2016 ACM/ICPC 亚洲区沈阳站 题意 有\(N\le 10\)个人,每个猜一个长度为\(L \le 10\)的由\(1-6\)构成的序列,保证序列两两不同. 不断地掷骰子,直到后缀与某人的序列匹配,则对应的人获胜. 求每个人获胜的概率. 思路 显然,涉及的序列最多100个,用ac自动机构出这些状态,计算状态之间的转移概率. 记增量矩阵为\(A\)(即终状态不再计算转移到自身的概率),答案为\(b\),初始序列为\(x\),…
hdu 5955 Guessing the Dice Roll [AC自动机+高斯消元] 题意:给出 n≤10 个长为 L≤10 的串,每次丢一个骰子,先出现的串赢,问获胜概率. 题解:裸的AC自动机,求匹配到终止结点的概率,用 高斯消元?一开始不知道怎么建方程组,直接举个例子吧: Input: 1 2 2 1 1 2 1 图解: x0原本概率就是1,然后还要加上其他结点走向它的概率,,这样最后算下来是大于1的,现在还是觉得怪怪的... #include <cstdio> #include &…
含高斯消元模板 2016沈阳区域赛http://acm.hdu.edu.cn/showproblem.php?pid=5955 Guessing the Dice Roll Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1632    Accepted Submission(s): 480 Problem Description The…
http://acm.hdu.edu.cn/showproblem.php?pid=5955 题意:给你长度为l的n组数,每个数1-6,每次扔色子,问你每个串第一次被匹配的概率是多少 题解:先建成ac自动机构造fail数组,然后因为fail指针可能向前转移所以不能不能直接递推dp,需要高斯消元解方程,对于节点i,假设不是结束点而且能转移到它的点有a1,a2...an,那么dp[i]=1/6*dp[a1]+1/6*dp[a2]+...+1/6*a[n],然后我们可以列出n个方程,高斯消元然后找到每…
Problem Description There are N players playing a guessing game. Each player guesses a sequence consists of {1,2,3,4,5,6} with length L, then a dice will be rolled again and again and the roll out sequence will be recorded. The player whose guessing…
先从阿里机器学习算法岗网络笔试题说起:甲乙两人进行一个猜硬币的游戏.每个人有一个目标序列,由裁判来抛硬币.谁先得到裁判抛出的一串连续结果,谁赢. 甲的目标序列是正正正,乙的目标序列是反正正.那么如果裁判抛出了正正反正反正正....抛到第7个结果时乙胜,因为最后三个序列是"反正正",而前面不存在甲的"正正正"序列. 问:甲的目标序列是????,乙的目标序列是????,求两人各自获胜的概率. 先说例子,正正正,反正正的概率.显然是1/8和7/8.  甲获胜的情况只有一种…
http://blog.csdn.net/viphong/article/details/53098489 我有一点不是很懂,这样算出来转移到AC自动机根节点的概率是一个远大于1的数. 按我的理解,因为转移初始就是从根节点出发的, 所以x(0)存储的是从根节点出发的概率(100%)+其他点转移到根节点的概率…… 比较抽象,还是当做套路记住吧……(鶸的做法) #include<cstdio> #include<cstring> #include<cmath> #inclu…
题意: 有n个人,每个人有一个长为L的由1~6组成的数串,现在扔一个骰子,依次记录扔出的数字,如果当前扔出的最后L个数字与某个人的数串匹配,那么这个人就算获胜,现在问每个人获胜的概率是多少. n,l<=10 思路:对于无限型的概率 首先显然有一个暴力做法是对于n个串建出AC自动机和转移矩阵后跑若干次矩乘快速幂DP使得答案趋于稳定后可以将结果看做答案 正解是高斯消元 每个点对于它的后继有1/6的概率跑到,计算贡献后累加 边界条件:题目给出的n个串没有后继 游戏开始时必定会转移到根节点,等价于有一个…
A - Play the DiceTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=87326#problem/A Description There is a dice with n sides, which are numbered from 1,2,...,n and have the equal possibility to show up…