您的位置:首页 > 其它

HDU 4652 Dice(期望)

2013-12-01 19:14 246 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4652

题意:一个m个面的筛子。两种询问:(1)平均抛多少次后使得最后n次的面完全一样;(2)平均抛多少次后使得最后n次的面完全不同?

思路:设dp[i]表示i次完全相同、不同时还需要抛的次数期望。

(1)下面首先讨论完全相同的情况。



(2)完全不同的情况:





i64 Pow(int n,int m)
{
i64 ans=1,x=n;
while(m)
{
if(m&1) ans*=x;
x*=x;
m>>=1;
}
return ans;
}

int main()
{
int C;
Rush(C)
{
int op,n,m;
while(C--)
{
RD(op,m,n);
if(op==0) PR((Pow(m,n)-1)/(m-1));
else
{
double ans=1,x=1;
int i;
FOR1(i,n-1) x=x*m/(m-i),ans+=x;
PR(ans);
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: