北京网站设计十年乐云seo,古典asp网站源码,选择网站做友情链接的标准一般是,关于动漫制作专业题目大意#xff1a;一款新游戏注册账号时#xff0c;有n个用户在排队。每处理一个用户的信息时#xff0c;可能会出现下面四种情况#xff1a; 1.处理失败#xff0c;重新处理#xff0c;处理信息仍然在队头#xff0c;发生的概率为p1#xff1b; 2.处理错误#xff… 题目大意一款新游戏注册账号时有n个用户在排队。每处理一个用户的信息时可能会出现下面四种情况 1.处理失败重新处理处理信息仍然在队头发生的概率为p1 2.处理错误处理信息到队尾重新排队发生的概率为p2 3.处理成功队头信息处理成功出队发生的概率为p3 4.服务器故障队伍中所有信息丢失发生的概率为p4 小明现在在队伍中的第m个位置问当他前面的信息条数不超过k-1时服务器故障的概率。 题目分析这道题的状态转移方程不难写。定义状态dp(i,j)表示在有 i 个人的队伍中他排在第 j 个位置时到达要求状态的概率。则状态转移方程为 dp(i,1)p1*dp(i,1)p2*dp(i,i)p4 dp(i,j)p1*dp(i,j)p2*(i,j-1)p3*dp(i-1,j-1)p4 (2jk) dp(i,j)p1*dp(i,j)p2*(i,j-1)p3*dp(i-1,j-1) (kji) 整理一下并另p21p2/(1-p1)p31p3/(1-p1)p41p4/(1-p1)则得到 dp(i,1)p21*dp(i,i)p41 dp(i,j)p21*dp(i,j-1)p31*dp(i-1,j-1)p41 (2jk) dp(i,j)p21*dp(i,j-1)p31*dp(i-1,j-1) (kji) 这样就可以通过递推求解。 为了书写方便把上面的三个转移方程用两个方程表示出来 dp(i,1)p21*dp(i,i)c(1) dp(i,j)p21*dp(i,j-1)c(j) (2ji) dp(i,i)可以通过迭代得到 (1-p21^i)dp(i,i)∑(p21^(i-j))*c(j) (1ji) ps得加特判否则会WA。。。 代码如下 # includeiostream
# includecstdio
# includecmath
# includecstring
# includealgorithm
using namespace std;const double eps1e-5;int n,m,k;
double p1,p2,p3,p4;
double dp[2005][2005];int main()
{while(~scanf(%d%d%d,n,m,k)){scanf(%lf%lf%lf%lf,p1,p2,p3,p4);if(p4eps){printf(0.00000\n);continue;}double p21p2/(1-p1);double p31p3/(1-p1);double p41p4/(1-p1);dp[1][1]p41/(1-p21);for(int i2;in;i){dp[i][i]0;for(int j1;ji;j){if(j1) dp[i][i]pow(p21,i-j)*p41;else if(j2jk) dp[i][i]pow(p21,i-j)*(p31*(dp[i-1][j-1])p41);else dp[i][i]pow(p21,i-j)*p31*dp[i-1][j-1];}dp[i][i]/(1-pow(p21,i));for(int j1;ji;j){if(j1) dp[i][j]p21*dp[i][i]p41;else if(j2jk) dp[i][j]p21*dp[i][j-1]p31*dp[i-1][j-1]p41;else dp[i][j]p21*dp[i][j-1]p31*dp[i-1][j-1];}}printf(%.5lf\n,dp[n][m]);}return 0;
}转载于:https://www.cnblogs.com/20143605--pcx/p/5324032.html