ZOJ 3329 One Person Game(期望)
来源:互联网 发布:软件实施工程师招聘 编辑:程序博客网 时间:2024/06/03 20:44
题目链接:ZOJ 3329 One Person Game
(from ACM_cxlove)
E[i]表示分数为i时的期望步数,当i>=n时,E[i]=0,题目要求的即是E[0]。
E[i]=sigma(E[i+k]*Pk)+E[0]*P0+1。其中Pk表示三个筛子和为k的概率,其中不包括指定的那种
其中P0就是指定的那种的概率。
可以发现这还是一个有环的期望问题,然后就是得迭代迭代然后化简了。。
E[0]为所求,而且每一个E[i]中都有E[0]。
令E[i]=a[i]*E[0]+b[i]。得到E[i]=(sigma(a[i+k])+P0)*E[0]+sigma(b[i+k])+1
便得到a[i]=sigma(a[i+k])+P0,b[i]=sigma(b[i+k])+1。
最终E[0]=b[0]/(1-a[0])
开始xa,xb没置0,一直WA。
#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int MAX_N = 500 + 50;double _map[3 * 6 + 5], xa[MAX_N], xb[MAX_N];int main(){ //freopen("in.txt", "r", stdin); int T; scanf("%d", &T); while(T--) { memset(_map, 0, sizeof(_map)); memset(xa, 0, sizeof(xa)); memset(xb, 0, sizeof(xb)); int n, a, b, c, k1, k2, k3; scanf("%d%d%d%d%d%d%d", &n, &k1, &k2, &k3, &a, &b, &c); int k = k1 * k2 * k3; double p = 1.0 / k; for(int i = 1; i <= k1; i++) for(int j = 1; j <= k2; j++) for(int m = 1; m <= k3; m++) if(!(i == a && j == b && m == c)) _map[i + j + m] += p; for(int i = n; i >= 0; i--) { xa[i] = p, xb[i] = 1; for(int j = 3; j <= k1 + k2 + k3; j++) { xa[i] += xa[i + j] * _map[j]; xb[i] += xb[i + j] * _map[j]; } } printf("%.16lf\n", xb[0] / (1 - xa[0])); } return 0;}
0 0
- ZOJ 3329 One Person Game(期望)
- ZOJ 3329 One Person Game 【期望dp】
- ZOJ 3329 One Person Game(概率DP,求期望)
- zoj 3329 One Person Game(概率dp,期望)
- ZOJ 3329 One Person Game 概率dp、求期望
- ZOJ 3329 One Person Game(概率dp求期望)
- ZOJ 3329 One Person Game(概率DP、求期望)
- zoj 3329 One Person Game (概率与期望DP)
- ZOJ-3329 One Person Game(期望dp)
- ZOJ 3329 One Person Game (期望DP)
- ZOJ 3329 One Person Game(概率DP,求期望)
- zoj 3329 One Person Game
- ZOJ 3329 One Person Game
- ZOJ 3329 One Person Game
- ZOJ 3329 One Person Game
- ZOJ 3329 One Person Game
- ZOJ 3329One Person Game
- ZOJ-3329-One Person Game
- error loading shared libraries: libvl.so 解决方案
- c++ STL模板之 queue
- mahout下实现FP算法
- Mysql中自增字段(AUTO_INCREMENT)的一些常识
- [剑指Offer]链表中的倒数第k个节点
- ZOJ 3329 One Person Game(期望)
- Rtems的体系结构
- VBA简单认识
- checkio -- Striped Words
- 做好自己,面对现实(二)
- the leak of the memory in c++ 03
- Spring MVC 解决静态资源的问题
- HOOK登陆器来注入DLL -HOOK CreateProcessA
- atl offsetofclass