首页 > 其他 > 详细

loj #6191. 「美团 CodeM 复赛」配对游戏 期望dp

时间:2019-11-05 16:44:15      阅读:85      评论:0      收藏:0      [点我收藏+]

code: 

#include <bits/stdc++.h>    
#define N 2004   
#define LL long long 
#define setIO(s) freopen(s".in","r",stdin) 
using namespace std;    
double p[N][N],f[N][N];   
int main() 
{ 
	// setIO("input"); 
	int i,j,n; 
	scanf("%d",&n), p[0][0]=1;   
	double ans=0.0; 
	for(i=0;i<n;++i)        
	{
		p[i+1][1]+=p[i][0]/2, f[i+1][1]+=(f[i][0]+p[i][0])/2;                    
		p[i+1][0]+=p[i][0]/2, f[i+1][0]+=(f[i][0]+p[i][0])/2;              
		for(j=1;j<n;++j) 
		{
			p[i+1][j+1]+=p[i][j]/2, f[i+1][j+1]+=(f[i][j]+p[i][j])/2;             
			p[i+1][j-1]+=p[i][j]/2, f[i+1][j-1]+=(f[i][j]-p[i][j])/2;       
		}
	} 
	for(i=0;i<=n;++i)   ans+=f[n][i];    
	printf("%.3f\n",ans);         
	return 0; 
}      

  

loj #6191. 「美团 CodeM 复赛」配对游戏 期望dp

原文:https://www.cnblogs.com/guangheli/p/11799139.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!