zoukankan      html  css  js  c++  java
  • 洛谷 P5104 红包发红包

    洛谷 P5104 红包发红包

    洛谷传送门

    题目背景

    红包(redbag)发明了一个抢红包的系统。

    题目描述

    这个抢红包系统是这样的:假如现在有w元,那么你抢红包能抢到的钱就是[0,w][0,w]等概率均匀随机出的一个实数x。

    现在红包发了一个ww元的红包,有nn个人来抢。那么请问第kk个人期望抢到多少钱?

    输出mod (10^9+7)mod(109+7)。

    输入格式

    w,n,kw,n,k

    输出格式

    第kk个人期望抢到的钱数mod(10^9+7)mod(109+7)

    补充:期望可能是分数,关于分数取模,可以问度娘


    题解:

    实数域期望。

    期望的概念其实就是“均值”。所以,假设我们现在有一个10块的红包,第一个人肯定是期望5块,第二个人就是期望两块五,以此类推。

    所以答案就是:(frac{w}{2^k}),注意取模和乘逆元的问题。

    代码:

    #include<cstdio>
    #define int long long
    using namespace std;
    const int mod=1e9+7;
    int n,k,w;
    int qpow(int a,int b)
    {
        int ret=1;
        while(b)
        {
            if(b&1)
                ret=(ret*a)%mod;
            b>>=1;
            a=(a*a)%mod;
        }
        return ret%mod;
    }
    signed main()
    {
        scanf("%lld%lld%lld",&w,&n,&k);
        int fenmu=qpow(2,k);
        int ans=(w*qpow(fenmu,mod-2))%mod;
        printf("%lld",ans);
        return 0;
    }
    
  • 相关阅读:
    第一次博客作业
    编辑器、编译器、文件、IDE等常见概念辨析
    树、二叉树、查找知识点总结
    二叉排序树
    线性表知识点总结
    c语言文件
    第二次博客作业: 函数+进制转换器v1.0beta
    python作业1
    c语言知识
    第一次博客作业
  • 原文地址:https://www.cnblogs.com/fusiwei/p/13846083.html
Copyright © 2011-2022 走看看