【CodeForces】【148D】Bag of mice
2015-02-26 18:54
344 查看
概率DP
kuangbin总结中的第9题啊……题目给的数据只有白鼠和黑鼠的数量,所以我们只能在这个上面做(gao)文(D)章(P)了……
明显可以用两种老鼠的数量来作为状态= =
我的WA做法:
令f[i][j]表示从(w,b)轮流取老鼠一直到(i,j)【此时轮process取】两人一直不分胜负的概率,很明显(i,j)这个状态下赢的概率为 i / (i+j) ,那么总共赢的概率就是对所有(i,j),f[i][j]*i/(i+j)求和
转移当然很简单啦~ f[i][j]只可能从f[i][j+3](两人一人抓了一只黑鼠,吓出来一只黑鼠)和f[i+1][j+2](两人一人抓了一只黑鼠,吓出来一只白鼠)两个状态转移过来。
所以有 f[i][j]= f[i+1][j+2]*(j+2)/(i+j+3) *(j+1)/(i+j+2) *(i+1)/(i+j+1) + f[i][j+3]*(j+3)/(i+j+3) *(j+2)/(i+j+2) *(j+1)/(i+j+1);
从f
[m]=1.0逆推,每步累加ans即可
我在第9个点就WA了……我猜是爆精度了……sigh,1e-9的精度伤不起啊。
kuangbin的AC做法:
将f[i][j]表示成轮到process抓时有 i 只白、j 只黑,她赢的概率。转移类似,但这样精度高(不像我还要另外累加?)(事实上我也没明白为什么……)反正精度会好许多……
//CF 148D #include<cmath> #include<vector> #include<cstdio> #include<cstring> #include<cstdlib> #include<iostream> #include<algorithm> #define rep(i,n) for(int i=0;i<n;++i) #define F(i,j,n) for(int i=j;i<=n;++i) #define D(i,j,n) for(int i=j;i>=n;--i) #define pb push_back using namespace std; int getint(){ int v=0,sign=1; char ch=getchar(); while(!isdigit(ch)) {if(ch=='-') sign=-1; ch=getchar();} while(isdigit(ch)) {v=v*10+ch-'0'; ch=getchar();} return v*sign; } const int N=1010,INF=~0u>>2; const double eps=1e-10; /*******************template********************/ double f ; int main(){ int n=getint(), m=getint(); double ans=0.0; F(i,1,n) f[i][0]=1.0; F(j,1,m) f[0][j]=0.0; F(i,1,n) F(j,1,m){ f[i][j]=(double)i/(i+j); if (j>=3) f[i][j]+=f[i][j-3]*j/(i+j)*(j-1)/(i+j-1)*(j-2)/(i+j-2); if (j>=2) f[i][j]+=f[i-1][j-2]*i/(i+j)*j/(i+j-1)*(j-1)/(i+j-2); } printf("%.9lf\n",f [m]); return 0; }
View Code
相关文章推荐
- Codeforces 148 D Bag of mice
- Codeforces 148 D Bag of mice
- codeforces 148 D Bag of mice(概率dp)
- CF_148D_BagOfMice
- CF D. Bag of mice(概率dp)
- codeforces-148D-Bag of mice-概率DP
- codeforces-148D-Bag of mice【概率】【DFS】
- Codeforces Round #105 (Div. 2) D. Bag of mice
- Codeforces 148D 一袋老鼠 Bag of mice | 概率DP 水题
- Bag of mice(CodeForces 148D )
- Codeforces Round #105 (Div. 2) D. Bag of mice
- CodeForces:148D-D.Bag of mice
- codeforces--148D--Bag of mice--概率DP
- Codeforces 148D - Bag of mice 概率dp
- CodeForces 148D-Bag of mice概率DP
- Codeforces 148D - Bag of mice 概率dp
- CodeForces 148D-Bag of mice(概率dp)
- Bag of mice CodeForces - 148D (概率) (记忆化深搜)题解
- codeforces-148D-Bag of mice-概率DP
- 基于BoF(Bag-of-feature)图像分类