【题解】Luogu P3872小魔女帕琪
题解
设 \(p_i\) 为第 \(i\) ~ \(i+6\) 次成功连招的概率,令 \(s=\sum{a_i}\)。
直接考虑前 \(7\) 次凑足一次大招的概率:\(p_1=7! \times \frac{\prod{a_i}}{s \times (s-1) \times (s-2) \times (s-3) \times (s-4) \times (s-5) \times (s-6)}\)
考虑证明对于任意\(i,j\),有 \(p_i=p_j\)。
直接归纳,若 \([i,i+6]\) 为一个合法串,考虑枚举第 \(i+6\) 个位置填的数 \(k\),那么将第 \(i+6\) 个位置的数放到第 \(i\) 个位置,一定与 \([i-1,i+5]\) 的情况对应,则
\(p_{i+1}=\sum\limits_{i=1}^7{\frac{p_i}{7}}=p_i\),同时,显然有 \(E(i)=p_i \times 1=p_i\)
由于期望的线性性质:
\[E=(n-6)E(i)=7! \times \frac{\prod{a_i}}{s \times (s-1) \times (s-2) \times (s-3) \times (s-4) \times (s-5)}
\]
直接输出即可。
代码
int a[8],s;double ans=1;
int main(void)
{
fr(i,1,7) a[i]=read(),s+=a[i];
fr(i,1,6) ans=ans*i*a[i]/(s-i+1);
ans=ans*a[7]*7.0;
printf("%.3lf\n",ans);
return 0;
}