P5104 红包发红包(数学期望)

题意:

在这里插入图片描述
在这里插入图片描述

解法:

第一个人的期望数值为w/2,
第二个人的期望数值为第一个人期望数值前提下的期望数值,即w/2/2,
...
那么第k个人就是w/(2^k)

code:

#include <bits/stdc++.h>
using namespace std;
#define int long long
const int maxm=5e3+5;
const int mod=1e9+7;
int ppow(int a,int b,int mod){
    
    
    int ans=1%mod;a%=mod;
    for(;b;a=a*a%mod,b>>=1)if(b&1)ans=ans*a%mod;
    return ans;
}
signed main(){
    
    
    ios::sync_with_stdio(0);
    int w,n,k;cin>>w>>n>>k;
    cout<<w*ppow(ppow(2,k,mod),mod-2,mod)%mod<<endl;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_44178736/article/details/112748802