求助,一个非题解做法
查看原帖
求助,一个非题解做法
401461
Augury楼主2023/6/9 16:17

设 dpi,jdp_{i,j} 表示在前 ii 轮,第 jj 号牌释放过技能的概率。

设 fi,jf_{i,j} 表示在第 ii 轮,前 jj 号牌释放过技能的概率。

那么 fi,j=fi,j−1∗(dpi−1,j+(1−pj)−dpi−1,j×(1−pj))f_{i,j}=f_{i,j-1}*(dp_{i-1,j}+(1-p_j)-dp_{i-1,j}\times(1-p_j)),

dpi,j=dpi−1,j+(1−dpi−1,j)×fi,j−1×pjdp_{i,j}=dp_{i-1,j}+(1-dp_{i-1,j})\times f_{i,j-1}\times p_j。

附上代码:

for(int i=1;i<=m;i++){
	f[i][0]=1;
	for(int j=1;j<=n;j++){
		double now=(1-dp[i-1][j])*f[i][j-1]*p[j];
		dp[i][j]=dp[i-1][j]+now;
		f[i][j]=f[i][j-1]*(dp[i-1][j]+(1-p[j])-dp[i-1][j]*(1-p[j]));
		ans+=now*a[j];
	}
}

萌新想知道这个做法哪里假了/kk

2023/6/9 16:17
加载中...