【ACM】Play the Dice-数学概率

一年多没做题了,今天做了个现参赛的水题,第一感觉题目苦涩,没读懂

,然后坚持读了几遍,懂了边思考啊,就有了成果。

可写的有两点吧:

1:推导,期望值ans 的组成:第一次的均值+待定均值

     即ans =(a1+...an)/n+ans*m/n

     最后结果:ans =(a1+..an)/(n-m);

     由公式也可以看出 n!=m 由题意也可n==m时 是inf

2:精确度问题,以前老犯这错误,都是模模糊糊滴过了,这次尤其注意了一下

     在判断 sum ==0 时 ,用 int 定义 sum 判断 ,AC ,用 double  判断 意料之中的

     最熟悉 的  wrong anser ...

    楼主也不小白式的讲解了,提供两个连接供大家学习一个是微软的官方资料

    一个是脚步之家的博客

   http://technet.microsoft.com/zh-cn/library/system.double


  http://www.jb51.net/article/36935.htm


最后贴个小白代码勿喷~哈:

#include <stdio.h>
int main()
{
    int n,m;
    double ans;
    while(scanf("%d",&n)==1)
    {
        int sum=0;
        for(int i=0;i<n;i++)
        {
            int temp;
            scanf("%d",&temp);
            sum+=temp;
        }
        scanf("%d",&m);
        for(int i=0;i<m;i++)
        {
            int temp;
            scanf("%d",&temp);
        }
        if(sum==0)
        {
            printf("0.00\n");continue;
        }
        if(n==m)
        {
            printf("inf\n");continue;
        }
        ans=(double)sum/(n-m);
        printf("%.2lf\n",ans);
    }
    return 0;
}


记录几个没仔细看的网址:

http://book.51cto.com/art/201204/326994.htm

blog.youkuaiyun.com/xiaozzhao/article/details/7450042

http://blog.youkuaiyun.com/sgnaw/article/details/12442

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值