zoukankan      html  css  js  c++  java
  • LightOJ 1030

    题意:http://www.lightoj.com/volume_showproblem.php?problem=1030

    题意就是说给你一个长度为n的序列,初始在1位置,每次可以掷骰子,1-6,如果没有越界,就可以往前走,并且得到目标格子的值。走到最后一个格子结束。问最后获得分数的期望。 一般来说期望都是倒着推。

    设dp[i]表示从i号格子出去的期望,那么a[i]+=a[i+step]*1.0/(6,n-i).

    a[i]+=(a[i+1]+a[i+2]+a[i+3]+a[i+4]+a[i+5]+a[i+6])/6;

    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #include<iostream>
    #include<queue>
    #include<map>
    #include<vector>
    #include<math.h>
    #include<string>
    using namespace std;
    #define INF 0x3f3f3f3f
    #define LL long long
    #define N 100006
    #define Lson rood<<1
    #define Rson rood<<1|1
    double a[N];
    int main()
    {
        int T,t=1,n;
        scanf("%d",&T);
        while(T--)
        {
            scanf("%d",&n);
            for(int i=1;i<=n;i++)
                scanf("%lf",&a[i]);
            for(int i=n-1;i>=1;i--)
            {
                int minn=min(6,n-i);
                for(int j=i+1;j<=i+minn;j++)
                    a[i]+=1.0/minn*a[j];
            }
            printf("Case %d: %.10f
    ",t++,a[1]);
        }
        return 0;
    }
  • 相关阅读:
    JSTL&EL
    Response
    HTTP、Request
    Tomcat、Servlet
    单片机概念及应用
    JQuery高级
    Jquery基础
    JavaScript
    HTML、CSS
    跟着文档学习gulp1.2创建任务(task)
  • 原文地址:https://www.cnblogs.com/a719525932/p/7802643.html
Copyright © 2011-2022 走看看