题解:CF1983E I Love Balls
题意:有
在每个回合中,当前的玩家随机挑选一个球,并将该球的价值加到自己的分数中,游戏开始时的分数为
Alice 先手,求游戏结束时双方的期望得分,对
做法:
先不考虑两名玩家,若只有一个玩家拿球,显然拿出的球是一个排列。
考虑每次换人都是非特殊球,则根据非特殊球将排列划分为
对于特殊球,其有
那么期望直接用权值乘概率算即可。
核心代码如下:
ll ea=0,eb=0,invn=qpow(n-k,MOD-2),invn1=qpow(n-k+1,MOD-2);
rep(i,k+1,n){
ea=(ea+v[i]*((n-k+1)/2)%MOD*invn%MOD)%MOD;
eb=(eb+v[i]*((n-k)/2)%MOD*invn%MOD)%MOD;
}
n=n-k;
rep(i,1,k){
ea=(ea+v[i]*(n/2+1)%MOD*invn1%MOD)%MOD;
eb=(eb+v[i]*((n+1)/2)%MOD*invn1%MOD)%MOD;
}
printf("%lld %lld\n",ea,eb);