本文章由 WyOJ Shojo 从洛谷专栏拉取,原发布时间为 2022-05-06 22:18:40
题目解法:
考虑一下每个石子被选中的概率。可以看出,到第 $i$ 轮合并之前,还剩下 $n-i+1$ 堆石子,那么显然,第 $i$ 轮合并每一堆石子 $j$ 有 $\frac{2}{n-i+1}$ 的概率被选上。
那么显然,答案就是 $(\sum_{i=1}^{n} a_i) \cdot (\sum_{i=2}^{n} \frac{2}{i})$
代码:
#include <bits\/stdc++.h>
using namespace std;
namespace Main
{
typedef long double ld;
int n;
const int maxn=505;
ld a[maxn];
void main()
{
scanf("%d",&n);
ld ans1=0;
for(int i=1;i<=n;i++)
{
scanf("%Lf",&a[i]);
ans1+=a[i];
}
ld ans2=0;
for(int i=2;i<=n;i++)
{
ans2+=ld(2.0)\/ld(i);
}
printf("%.50Lf",ans2*ans1);
}
}
int main()
{
Main::main();
return 0;
}

鲁ICP备2025150228号