题目描述
题意:s个系统n种bug,每天找出一个bug,种类的概率是1/n,系统的概率是1/s。问:每个系统至少找出一个bug;每种类的bug都被找出。的期望天数(0<n, s<=1000)、
题解
这道题目一共有两个维度,bug个系统,这了对应了两个状态。
我们设 f [ i ] [ j ] f[i][j] f[i][j]为i个bug,s个系统,还需要期望的步数。我们要采用逆推。(逆推的原因就在于状态0也在考虑范围内,往前访问会造成下标越界)。
一共分为如下情况:
- bug不出现,系统出现。对应了 f [ i ] [ j + 1 ] , p = i × ( s ? j ) s × n f[i][j+1],p=\frac{i\times (s-j)}{s\times n} f[i][j+1],p=s×ni×(s?j)?
- bug出现,系统不出现。对应了 f [ i + 1 ] [ j ] , p = ( n ? i ) × j s × n f[i+1][j],p=\frac{(n-i)\times j}{s\times n} f[i+1][j],p=s×n