codeforces148D(概率DP)
来源:互联网 发布:网络侵权案例 编辑:程序博客网 时间:2024/05/22 15:26
地址:http://codeforces.com/problemset/problem/148/D
题意:抓老鼠,抓到白老鼠赢,问先手获胜的概率。
思路:这是第三道概率DP,不同于前两道,这一道题做时有些感觉,越做越像数位DP,尤其是本题用搜索来写。本题是回溯时求答案,因为尽管相同情况的不同种求法用记忆化搜索减少了运算,但是对于答案来说,每种情况都要计入在内,所以只用记忆化会多省一些数据。
代码:
#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;double p[1010][1010]; //double型数组不能用memset全置为-1bool vis[1010][1010]; //所以这里开了个bool型辅助,这里坑了我半天double dfs(int w,int b) //非常像数位DP搜索写法{ if(w<=0) return 0; if(b<=0) return 1; if(vis[w][b]) return p[w][b]; vis[w][b]=1; double ans=w*1.0/(w+b); if(w&&b>1) { double s; s=1.0*b*(b-1)/(w+b)/(w+b-1); ans+=s*((b-2)*1.0/(w+b-2)*dfs(w,b-3)+w*1.0/(w+b-2)*dfs(w-1,b-2)); } p[w][b]=ans; return ans;}int main(){ int w,b; scanf("%d%d",&w,&b); printf("%.9f\n",dfs(w,b)); return 0;}
0 0
- codeforces148D(概率DP)
- [Codeforces148D]Bag of mice(概率dp)
- 【codeforces148D】Bag of mice(记忆化+概率)
- poj3071(概率DP)
- poj2151(概率DP)
- hdu4870(概率dp)
- hdu3853(概率dp)
- zoj3822(概率DP)
- Codeforce148D(概率dp)
- 概率统计(DP)
- hdu4815 (概率DP)
- hdu5001(概率dp)
- hdu4405(概率dp)
- zoj3822(概率dp)
- zoj3329(概率dp)
- hdu5001(概率dp)
- POJ2096(概率dp)
- Activation (概率DP)
- Android 旋转屏幕时禁止Activity重建
- OCP-1Z0-053-200题-32题-611
- python访问纯真IP数据库的示例代码
- 记一次sql查询利用不算艰难曲折渗透的过程
- Ecava公司IntegraXor 缓冲区溢出漏洞
- codeforces148D(概率DP)
- HBase写操作流程解析
- CAS SSO单点登录实例详细步骤
- 奇数阶魔方
- Metaprogramming in Python
- 【不再联系】-夏天Alex,崔子格-DJLs【老鼠】2014Mix
- 我是一个大菜鸟
- jsoup的Elements类
- 线程的创建方式一