Codeforces Round #259 (Div. 2) C. Little Pony and Expected Maximum (找规律)

来源:互联网 发布:linux启动服务器命令 编辑:程序博客网 时间:2024/06/05 05:44

题目链接:Codeforces Round #259 (Div. 2)  C. Little Pony and Expected Maximum

求M面的骰子扔N次的最大点数的期望。

找规律。


6 3
E=1 
111
N==1

E=2
112 121 211

122 212 221
222
N=7=2^n-1^n

E=3
113 131 311 

223 232 322

123 132 213 231 321 312

133 331 313

233 332 323

333
N=19=3^n-2^n

......

期望就是:N*E*(1/m)^n,即 i*(i^n-(i-1)^n)*(1/m)^n。化简不然会溢出。i*((i/m)^n-((i-1)/m)^n)


AC代码:

#include<stdio.h>double quick(double n,int p){double m,b;b=1.0;m=n;while(p){if(p%2)b*=m;p/=2;m*=m;}return b;}int main(){int i,j,n,m;double ans;while(scanf("%d%d",&m,&n)!=EOF){ans=1.0*quick(1.0/m,n);for(i=2;i<=m;i++){ans+=i*(quick(1.0*i/m,n)-quick(1.0*(i-1)/m,n));}printf("%lf\n",ans);}return 0;}



0 0
原创粉丝点击