顽猴
Time Limit:1000MS
Total Submit:2 Accepted:2
Description
从前有一只小考拉在家切题,切着切着他无聊了,于是他到森林里找小猴们玩。森林里总共有n +
m只小猴,这些猴们跟他都是好朋友。他来到森林时,有n只小猴已经玩到无聊了,有m只还没有。每一个单位的时间,他都会随机找两只小猴,然后他们仨玩游戏。完了一单位时间后这两只小猴都会变得感到无聊。这时小考拉又会重新找小猴玩。
小猴们想知道,如果这个坏蛋不断找他们玩,那么,在期望下,多少单位的时间后他们会都变得很无聊。你能帮助他们么?
Input
输一行两个整数n和m。
Output
输出一行一个实数,为所有猴变得无聊的期望时间。保留三位小数。
Sample Input
样例输入甲 1 1 样例乙输入 2 1 样例输入丙 1 2 样例输入丁 4 7
Sample Output
样例输出甲 1.000 样例乙输出 1.5 样例输出丙 2.0 样例输出丁 13.831
Hint
1 ≤ n, m ≤ 50
Source
一道概率的题。
这种题挺少见的,上次碰到是在特长生比赛的时候,然后没有人做出来。。
首先,题目给的样例我只能看懂第一个。
对于样例2,我一开始想:有可能永远取不到那个有聊的猴子,那时间不就是正无穷了吗?
后来老师说要用到极限的思想去理解。。
然后看了正解:
对于有m个猴子有聊的情况,
令f[i]表示有i只有聊,n+m-i只无聊。
令 p0 表示 随机取出
两只无聊
则:f[i]:=f[i-1]*p1+f[i-2]*p2+f[i]*p0+1
所以:f[i]:=(f[i-1]*p1+f[i-2]*p2+1)/(1-p0)
最后输出f[m]
应该这样想:
对于有i个猴子有聊的情况:
这种情况有三种来源:
1,i-1个猴子有聊,被抽出一只无聊,一只有聊。概率:p1。
2,i-2个猴子有聊,被抽出两只有聊。
3,i
这样,就能递推出结果了。
var
begin
end.