Collecint Bugs

题目:
http://poj.org/problem?id=2096

一个软件有 s s s个子系统,会产生 n n n b u g bug bug。某人一天能够发现一个 b u g bug bug,这个 b u g bug bug属于一个子系统的概率为 1 s \frac{1}{s} s1,属于某一类 b u g bug bug的概率为 1 n \frac{1}{n} n1。问发现 n n n b u g bug bug,并且每个子系统也都发现 b u g bug bug的天数的期望。

思路:
d p [ i ] [ j ] dp[i][j] dp[i][j]表示已经找到 i i i b u g bug bug,并且这些 b u g bug bug属于 j j j个系统,达到目标状态的天数的期望。有
d p [ i ] [ j ] = 1 + i n ∗ j s d p [ i ] [ j ] + i n ∗ s − j s d p [ i ] [ j + 1 ] + n − i n ∗ j s d p [ i + 1 ] [ j ] + n − i n ∗ s − j s d p [ i + 1 ] [ j + 1 ] ( 1 − i ∗ j s ∗ n ) ∗ d p [ i ] [ j ] = 1 + i n ∗ s − j s d p [ i ] [ j + 1 ] + n − i n ∗ j s d p [ i + 1 ] [ j ] + n − i n ∗ s − j s d p [ i + 1 ] [ j + 1 ] \begin{aligned} dp[i][j]&=1+\frac{i}{n}*\frac{j}{s}dp[i][j]+\frac{i}{n}*\frac{s-j}{s}dp[i][j+1]\\ &+\frac{n-i}{n}*\frac{j}{s}dp[i+1][j]+\frac{n-i}{n}*\frac{s-j}{s}dp[i+1][j+1]\\ (1-\frac{i*j}{s*n})*dp[i][j]&=1+\frac{i}{n}*\frac{s-j}{s}dp[i][j+1]+\frac{n-i}{n}*\frac{j}{s}dp[i+1][j]\\ &+\frac{n-i}{n}*\frac{s-j}{s}dp[i+1][j+1]\\ \end{aligned} dp[i][j](1snij)dp[i][j]=1+nisjdp[i][j]+nissjdp[i][j+1]+nnisjdp[i+1][j]+nnissjdp[i+1][j+1]=1+nissjdp[i][j+1]+nnisjdp[i+1][j]+nnissjdp[i+1][j+1]
d p [ n ] [ s ] = 0 dp[n][s]=0 dp[n][s]=0

#include"cstdlib"
#include"cstdio"
#include"cstring"
#include"cmath"
#include"queue"
#include"algorithm"
#include"iostream"
#define eps 1e-5
using namespace std;
double dp[1020][1020];
int main()
{
    
    
    int n,s;
    while(cin>>n>>s)
    {
    
    
        memset(dp,0,sizeof(dp));
        for(int i=n; i>=0; i--)
        {
    
    
            for(int j=s; j>=0; j--)
            {
    
    
                if(i==n&&j==s) continue;
                double tep=1.0;
                if(i<n) tep+=(n*1.0-i)*j/(n*s)*dp[i+1][j];
                if(j<s) tep+=(s*1.0-j)*i/(n*s)*dp[i][j+1];
                if(i<n&&j<s) tep+=(n*1.0-i)*(s*1.0-j)/(n*s)*dp[i+1][j+1];
                dp[i][j]=tep/(1-(i*j*1.0)/(s*n));
            }
        }
        printf("%.4f\n",dp[0][0]);
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_43520313/article/details/108577844