LG5104 红包发红包 概率与期望

问题描述

LG5104


题解

观察发现,对于 \(w\) ,期望得钱是 \(\frac{w}{2}\)

然后答案就是 \(\frac{w}{2^k}\)

然后快速幂求个逆元就好了。


\(\mathrm{Code}\)

#include<bits/stdc++.h>
using namespace std;

#define int long long

const int mod=1000000007;

template <typename Tp>
void read(Tp &x){
    x=0;char ch=1;int fh;
    while(ch!='-'&&(ch<'0'||ch>'9')) ch=getchar();
    if(ch=='-'){
        fh=-1;ch=getchar();
    }
    else fh=1;
    while(ch>='0'&&ch<='9'){
        x=(x<<1)+(x<<3)+ch-'0';
        ch=getchar();
    }
    x*=fh;
}

int n,w,k;

int ksm(int x,int p){
    int res=1;
    while(p){
        if(p&1) res=res*x%mod;
        p>>=1;x=x*x%mod;
    }
    return res;
}

signed main(){
    read(w);read(n);read(k);
    printf("%lld\n",(w*(ksm(ksm(2,k)%mod,mod-2)%mod))%mod);
    return 0;
}
全部评论

相关推荐

头顶尖尖的程序员:我是26届的不太懂,25届不应该是找的正式工作吗?为什么还在找实习?大四还实习的话是为了能转正的的岗位吗
点赞 评论 收藏
分享
笑死&nbsp;不是哥们离校了我真要睡街了&nbsp;加上还有几w的贷款&nbsp;不接受我准备去当三和大神
梦想是成为七海千秋:没事,hr这下就有底气了,下次遇到一个不接受的就说,你看,人家这学历都接受了,你凭什么不接受
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务