LightOJ1030(概率DP)

来源:互联网 发布:淘宝交电费 编辑:程序博客网 时间:2024/06/07 23:16

求走完所有格子后,能得到金子数目的期望;
想了半天,还是没有想明白期望为什么要逆推。蓝瘦, 不过这个题总算弄明白了,感觉不是很难,继续和概率DP拼命,不是你死就是我亡。啊啊啊啊啊啊啊啊~

code:

#include<stdio.h>#include<string.h>#include<math.h>#include<algorithm>#include<iostream>#include<string>#include <set>#include<time.h>//a&3==a%4using namespace std ;#define ll long long#define mem(a) memset(a,0,sizeof(a))const double eps = 1e-8;const int maxn = 110010;//须填写const int inf = 0x3f3f3f3f;double f[1010];int main(){    int _case;    scanf("%d",&_case);    for(int ii=1;ii<=_case;ii++)    {        int n;        memset(f,0,sizeof(f));        scanf("%d",&n);        for(int i=0;i<n;i++)        {            scanf("%lf",&f[i]);        }        for(int i=n-2;i>=0;i--)        {            int dis=6;            if(n-i-1<6)                dis=n-i-1;            for(int j=1;j<=dis;j++)            {                f[i]+=(f[j+i]/(1.00*dis));            }            //cout<<f[i]<<endl;        }        printf("Case %d: %.10f\n",ii,f[0]);    }    return 0;}
原创粉丝点击