博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【POJ】2096 Collecting Bugs(数学期望)
阅读量:4948 次
发布时间:2019-06-11

本文共 992 字,大约阅读时间需要 3 分钟。

题目

 

 

分析

数学期望

用$ dp[i][j] $表示发现了在$ j $个子系统里面发现了$ i $个bug到$ s $个子系统里面发现了$ n $个bug需要的期望天数。

$ dp[0][0] $就是答案。

然后分类一下,可以转移到$ dp[i][j] $无非就是$ dp[i+1][j+1] $ $ dp[i][j+1] $ $ dp[i+1][j] $ $ dp[i][j] $

各自分别算一下概率,比如从$ dp[i][j] $转移过来的话概率是$ \frac{i}{n} \times \frac{j}{s} $因为这天要刚好落在已经选择过的$ i $个bug和$ j $个子系统里。

其他的也差不多。

   

代码

由于日常include <bits/stdc++.h>所以poj的ce数量超级多。。。。。

1 // #include 
2 #include
3 #include
4 using namespace std; 5 const int maxn=1050; 6 double dp[maxn][maxn]; 7 int main(){ 8 double n,s; scanf("%lf%lf",&n,&s); 9 memset(dp,0,sizeof(dp));10 for(int i=n;i>=0;i--)11 for(int j=s;j>=0;j--){12 if(i==n&&j==s) continue;13 double p1=i*j/n/s,p2=i*(s-j)/n/s,p3=(s-j)*(n-i)/n/s,p4=(n-i)*j/n/s;14 dp[i][j]=(1+p2*dp[i][j+1]+p3*dp[i+1][j+1]+p4*dp[i+1][j])/(1-p1);15 }16 printf("%.5f\n",dp[0][0]);17 return 0;18 }

 

 

 

 

转载于:https://www.cnblogs.com/noblex/p/9406589.html

你可能感兴趣的文章
sigar
查看>>
iOS7自定义statusbar和navigationbar的若干问题
查看>>
c++ 网络编程(一)TCP/UDP windows/linux 下入门级socket通信 客户端与服务端交互代码...
查看>>
程序员如何提高影响力:手把手教你塑造个人品牌
查看>>
身份证校验原理和PHP实现
查看>>
[Locked] Wiggle Sort
查看>>
deque
查看>>
计算机
查看>>
Ext JS学习第十三天 Ext基础之 Ext.Element
查看>>
python--迭代器与生成器
查看>>
SQL之case when then用法详解
查看>>
STL 排序函数
查看>>
Microsoft Dynamics CRM 2011 面向Internet部署 (IFD) ADFS虚拟机环境搭建的步骤(CRM与ADFS装在同一台服务器上) 摘自网络...
查看>>
Setting up a Passive FTP Server in Windows Azure VM(ReplyCode: 227, Entering Passive Mode )
查看>>
Atitit mtp ptp rndis midi协议的不同区别
查看>>
Ajax辅助方法
查看>>
Python模块调用
查看>>
委托的调用
查看>>
c#中从string数组转换到int数组
查看>>
Scrapy入门程序点评
查看>>