摘要: 给一个数N,每步随机选一个不大于N的质数X,若X整除N,则N=N/X,否则N不变。求N变为1的期望步数。 常规的期望DP,先预处理不大于N的质数个数以及N的质因数,d[n]=p0*d[n]+p1*d[n/d1]+p1*d[n/d2]...+1,其中d1,d2..是n的质因数,p0为选中一个质数不为n的质因数的概率,移项即可得到d[n]的表达式。 1 #include <string.h> 2 #include <stdio.h> 3 #include <vector> 4 #define MAXN 1000005 5 using namespace std; 阅读全文
posted @ 2012-10-30 01:25 Burn_E 阅读(295) 评论(0) 推荐(0)
摘要: 一个游戏胜利的概率为p,小明每天晚上都会玩这个游戏直到胜利的比例大于p为止,他就会认为今天胜利了,但每天至多只能玩N次。小明会一直玩这个游戏直到有一天失败为止。求小明玩这个游戏天数的期望。 首先,假设小明每天玩这个游戏胜利的概率为q,根据期望公式有S=∑i*q^i*(1-q)。用数学方法化简可以得到S=1/(1-q),现在问题就转化为求q。 直接用概率论没想出来怎么搞,由于N比较小,可以想到用DP来解,用d[i][j]表示第i天赢了j次并且目前没有获得胜利的概率,有d[i][j]=d[i-1][j-1]*p+d[i-1][j]*(1-p)。 1 #include <stdio.h> 阅读全文
posted @ 2012-10-30 00:45 Burn_E 阅读(251) 评论(0) 推荐(0)