【期望DP】HDU4405 Aeroplane chess

題面在這裏

還是期望DP的老套路……

從後往前DP,fi 表示i到終點的期望值,然後XJB轉移就好了

還有題意貌似是能飛就必須飛?沒講清楚啊

示例程序:

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;

const int maxn=100010;
int n,m,to[maxn];
double f[maxn];
int main(){
    scanf("%d%d",&n,&m);
    while (n){
        for (int i=0;i<=n;i++) to[i]=i;
        for (int i=1,x,y;i<=m;i++) scanf("%d%d",&x,&y),to[x]=y;
        memset(f,0,sizeof(f));
        for (int i=n-1;i>=0;i--){
            if (to[i]>i) {f[i]=f[to[i]];continue;}
            f[i]=1;
            for (int j=1;j<=6;j++)
             f[i]+=f[i+j]/6;
        }
        printf("%.4lf\n",f[0]);
        scanf("%d%d",&n,&m);
    }
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章