洛谷 P5104 红包发红包 做题记录

\(1\) 个人的期望红包大小可以这么理解,因为 \([0,w]\) 中的值是随机的,设每个数被选中的概率为 \(\frac 1 k\),那么答案为 \(\frac{kw}{2k}=\frac w2\),那么第 \(2\) 个人就会在剩下的 \(\frac w 2\) 的期望中再选一个值,期望为 \(\frac w 4\),以此类推。

点击查看代码
ll w,n,k;
const ll mod = 1e9+7;
ll qpo(ll a,ll b) {
	a%=mod; ll res=1;
	while(b) {
		if(b&1) res=(res*a)%mod;
		a=a*a%mod;
		b>>=1;
	}
	return res;
}
signed main() {
	cin>>w>>n>>k;
	cout<<w*qpo(qpo(2,k),mod-2)%mod;
}
posted @ 2024-10-24 10:29  coding_goat_qwq  阅读(4)  评论(0编辑  收藏  举报