Candy UVA 1639 (数学期望)

有两个盒子各有n颗糖(n<=2*105),从两个盒子取糖的概率为p和1-p,直到一个盒子没糖,求另一个盒子中糖的个数的数学期望。

期望公式为:
E=∑i=1ni∗E(i)=∑j=0n(n−j)∗Cn+jj[pn+1∗(1−p)j+(1−p)n+1∗pj]E=\sum_{i=1}^{n}i*E(i)=\sum_{j=0}^{n}(n-j)*C_{n+j}^{j}[p^{n+1}*(1-p)^{j}+(1-p)^{n+1}*p^{j}]E=i=1∑n​i∗E(i)=j=0∑n​(n−j)∗Cn+jj​[pn+1∗(1−p)j+(1−p)n+1∗pj]

假设最终看到盒子1没糖,那么盒子1刚好被选中n+1次(包括最后一次被选到)。那么从盒子2拿出糖的个数设为j,所以此时另一个盒子的糖的个数为n-j。整个过程中作出选择的次数为n+j+1,由于最后一次选择必为盒子1,所以只能在前n+j次选择盒子2,选择了j次(拿走了j颗糖),所以有C(n+j,j)种情况。

同理于对于最终看到盒子2没糖的情况。

由于n最高可达2*105,组合数最高可达C(2n,n),而且p的n次幂会非常趋近于0,如果直接相乘会造成较大的精度损失。这种情况可以用对数处理。

Cn+jj∗pn+1∗(1−p)j=eln⁡(Cn+jj∗pn+1∗(1−p)j)=eln⁡Cn+jj+(n+1)∗ln⁡p+j∗ln⁡(1−p)C_{n+j}^j*p^{n+1}*(1-p)^j =e^{\ln_{}{(C_{n+j}^j*p^{n+1}*(1-p)^j)}} =e^{\ln_{}{C_{n+j}^j}+(n+1)*\ln_{}{p}+j*\ln_{}{(1-p)}}Cn+jj​∗pn+1∗(1−p)j=eln​(Cn+jj​∗pn+1∗(1−p)j)=eln​Cn+jj​+(n+1)∗ln​p+j∗ln​(1−p)

且Cn+j+1j+1=Cn+jj∗(n+j+1)j+1C_{n+j+1}^{j+1}=C_{n+j}^{j}*\frac{(n+j+1)}{j+1}Cn+j+1j+1​=Cn+jj​∗j+1(n+j+1)​
ln⁡Cn+j+1j+1=ln⁡Cn+jj+ln⁡(n+j+1)−ln⁡(j+1)\ln_{}{C_{n+j+1}^{j+1}}=\ln{}{C_{n+j}^{j}}+\ln{(n+j+1)}-\ln{(j+1)}ln​Cn+j+1j+1​=lnCn+jj​+ln(n+j+1)−ln(j+1)
可以先计算指数部分。
E(n−j)=(n−j)∗[eln⁡Cn+jj+(n+1)∗ln⁡p+j∗ln⁡(1−p)+eln⁡Cn+jj+(n+1)∗ln⁡(1−p)+j∗ln⁡p]E(n-j)=(n-j)*[e^{\ln_{}{C_{n+j}^j}+(n+1)*\ln_{}{p}+j*\ln_{}{(1-p)}}+e^{\ln_{}{C_{n+j}^j}+(n+1)*\ln_{}{(1-p)}+j*\ln_{}{p}}] E(n−j)=(n−j)∗[eln​Cn+jj​+(n+1)∗ln​p+j∗ln​(1−p)+eln​Cn+jj​+(n+1)∗ln​(1−p)+j∗ln​p]

代码如下:

#include<bits/stdc++.h>
using namespace std;
int main(void)
{//  freopen("out.txt","w",stdout);int n;long double p;int t=1;while(cin>>n>>p){long double lgp=log(p);long double lgp1=log(1-p);long double lgpn=(n+1)*lgp;long double lgp1n=(n+1)*lgp1;long double lgc=log(1);long double ans1=lgc+lgpn;long double ans2=lgc+lgp1n;long double ans=(long double)n*(exp(ans1)+exp(ans2));for(int j=1;j<n;j++){lgc+=log(n+j)-log(j);ans1=lgc+lgpn+j*lgp1;ans2=lgc+lgp1n+j*lgp;ans+=(long double)(n-j)*(exp(ans1)+exp(ans2));}printf("Case %d: %.6Lf\n",t++,ans);}
//  fclose(stdout);
}
//10 0.400000
//100 0.500000
//124 0.432650
//325 0.325100
//532 0.487520
//2276 0.720000

Candy UVA 1639 (数学期望)相关推荐

  1. uva 11762 数学期望+记忆化搜索

    题目大意:给一个正整数N,每次可以在不超过N的素数中随机选择一个P,如果P是N的约数,则把N变成N/p,否则N不变,问平均情况下需要多少次随机选择,才能把N变成1? 分析:根据数学期望的线性和全期望公 ...

  2. UVa 1639 - Candy(数学期望 + 精度处理)

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  3. 数学期望和概率DP题目泛做(为了对应AD的课件)

    题1: Uva 1636 Headshot 题目大意: 给出一个000111序列,注意实际上是环状的.问是0出现的概率大,还是当前是0,下一个还是0的概率大. 问题比较简单,注意比较大小: A/C & ...

  4. 数论小白都能看懂的数学期望讲解

    -1.灌水 这里阅读应该效果更佳 想了解更多关于数论的内容,可戳这里 感谢@command_block 大佬提出宝贵建议 也感谢洛谷及UVA的相关题目 如果有小瑕疵可以在评论区提出 内容可能有点多但很 ...

  5. 随机变量的数字特征(数学期望,方差,协方差与相关系数)

    戳这里:概率论思维导图 !!! 数学期望 离散型随机变量的数学期望 (这里要求级数绝对收敛,若不绝对收敛,则E(X)不存在) 如果有绝对收敛,则有 ,其中 连续型随机变量的数学期望 (这里要求绝对收敛 ...

  6. 解题报告(一)F、(2018 ACM - ICPC shenyang I)Distance Between Sweethearts(数学期望 + 乘法原理 + FWT)(4.5)

    繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...

  7. R语言:求二维变量数学期望

    想做一个二维变量数学期望实验, 查看若干资料终于找到方法 先看这篇文章熟悉一下R的函数 http://www.cyclismo.org/tutorial/R/tables.html 构造数据 通过下面 ...

  8. hdu 5419(数学期望)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5419 题解: 首先分母是C(m,3),考虑如何求出分子 考虑数学期望的独立性,我们首先可以用线性的时间 ...

  9. 概率论-2.2 随机变量的数学期望(重点:随机变量X的期望)

    分布有关的特征数:均值,方差,分位数等 期望的定义: 设离散随机变量X的分布列为pi=p(xi)=P(X=xi),i=1,2,-,n 若Sum(| xi |*p(xi))收敛(等价于Sum( xi * ...

最新文章

  1. Linux RAR 安装和使用
  2. VTK:Utilities之LUTUtilities
  3. css画带边框三角形,纯CSS画三角形(带边框)
  4. C#LeetCode刷题之#66-加一(Plus One)
  5. 【Elasticsearch】搜索基准测试:RediSearch 与 Elasticsearch
  6. 如何将Linux还原为win10,技术编辑为你解说win10系统Linux Bash命令的还原步骤
  7. 【转】Cowboy 开源 WebSocket 网络库
  8. 分区 Service Bus 队列和主题
  9. rpm包安装mysql的弊端_rpm包安装mysql的常见问题
  10. Jenkins Pinned Plugins(Jenkins绑定插件)
  11. 安卓APK反编译详解(多图)
  12. thinkphp5前台index模板文件template配置
  13. Windows10教育版升级至专业版的方法
  14. 约瑟夫环数学问题——举一反三、触类旁通
  15. 计算机科普扫盲——固态硬盘
  16. 什么笔记本学计算机二级,计算机二级Office
  17. python symbols函数_有限元平面四边形等差单元python编程
  18. 【Matlab电力负荷预测】日特征气象因素支持向量机SVM电力负荷预测【含源码 1612期】
  19. 当ie浏览器无法上网时
  20. 从微信端跳到外部浏览器进行apk文件下载

热门文章

  1. discuz 开发手机版及相关技术
  2. comp9021 第三课
  3. 美团外卖前端容器化演进实践
  4. CUDA和optix安装、设置、编译
  5. 王道计算机考研408计算机组成原理汇总(上)
  6. MATLAB里面的mghglobal函数,Matlab讨论区 - 声振论坛 - 振动,动力学,声学,信号处理,故障诊断 - Powered by Discuz!...
  7. 云通讯平台php demo,php 腾讯云通讯独立模式
  8. Hexo博客迁移到腾讯云
  9. PDF和TXT有什么区别?PDF怎么转TXT?
  10. UltraLAB台式图形工作站(图形生成王者~视景仿真工作站介绍)