zoukankan      html  css  js  c++  java
  • D

    传送门:https://vjudge.net/contest/370208#problem/D

    题意

      给你一个有n个面的骰子,点数由1到n,可以投k次,不一定要k次,最终得分是最后一次的点数,求得分期望。

    思路

      例如n=20,k=3,在第一次的时候,得分期望为10.5(1到20的平均数),k=2的时候,点数1到10的结果不会取,因为第一次的得分期望已经是10.5了,只会在点数11到20里取,那么第二次摇到1到10的概率为10/20设为f,摇到11到20的概率为1-f,所以k=2的时候的得分期望就是10.5*f+(11+20)/2*(1-f),以此类推。

    AC代码

    #include<iostream>
    #include<math.h>
    #include<vector>
    #include<stdio.h>
    using namespace std;
    int n,k;
    double ans;
    int main()
    {
        cin>>n>>k;
        double ans=0;
        for(int i=1;i<=k;i++){
            int num=floor(ans);
            double f=num*1.0/n;
            ans=ans*f+(1-f)*((num+1+n)*1.0/2);
            //cout<<ans<<"*
    ";
        }
        printf("%.7f",ans);
        return 0;
    }
  • 相关阅读:
    FCC学习笔记(二)
    FCC学习笔记(一)
    jQuery(三)
    jQuery(二)
    jQuery(一)
    JavaScript(九)
    JavaScript(八)
    2-1回归算法
    14-章小结
    13-模型训练及测试
  • 原文地址:https://www.cnblogs.com/qq2210446939/p/12793335.html
Copyright © 2011-2022 走看看