有两个盒子各有n (n<=2e5) 个糖,每天随机选一个(概率分别为p,1-p),然后吃一颗糖。直到有一天,没糖了!输入n,p,求此时另一个盒子里糖的个数的数学期望
假设最后某个盒子有 k 颗糖,然后计算概率即可
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #include<iostream> #include<cstring> #include<algorithm> #include<cmath> using namespace std; const int N =2e5; int n; double ans , p,q; long double v[N*2]; signed main(){ int i,cas=0; for (i=1;i<=4e5;i++) v[i] = v[i-1]+ log (i); while (cin>>n>>p){ ans=0.0; q= log (1-p); p= log (p); for (i=0;i<=n;i++){ double t1= v[2*n-i] -v[n] -v[n-i]+ (n+1)*p+(n-i)*q; double t2= v[2*n-i]-v[n]-v[n-i]+ (n+1)*q+ (n-i)*p; // cout <<"t1 t2: "<<t1<<' '<<t2<<endl; ans+= i*( exp (t1)+ exp (t2)); } printf ( "Case %d: %.6lf\n" ,++cas,ans); } return 0; } |
分类:
数学
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!