1. 题目

传送门= ̄ω ̄=

2. 题解

emmmm…XZY 期望学太差了,就来做模板题啦。

对于第 $i$个选项,它的答案与第 $i – 1$个选项的答案相同的概率是 $\frac 1 {a _ i \times a _ {i – 1}}$

然后有 $min(a _ i, a _ {i – 1})$种可能的答案。

所以第 $i$个选项对答案的贡献就是 $\frac {min(a _ i, a _ {i – 1})} {a _ i \times a _ {i – 1}}$

特殊处理一下第一个选项就行了。

代码:

#include <bits/stdc++.h>

#define NS (10000005)

using namespace std;

int n, A, B, C, a[NS];

double ans;

int main(int argc, char const* argv[])
{
    scanf("%d%d%d%d%d", &n, &A, &B, &C, a + 1);
    for (int i = 2; i <= n; i += 1) a[i] = (1ll * a[i-1] * A + B) % 100000001;
    for (int i = 1; i <= n; i += 1) a[i] = a[i] % C + 1;
    ans = (double)min(a[1], a[n]) / a[1] / a[n];
    for (int i = 2; i <= n; i += 1)
        ans += (double)min(a[i], a[i - 1]) / a[i] / a[i - 1];
    printf("%.3f\n", ans);
    return 0;
}
分类: 文章

XZYQvQ

炒鸡辣鸡的制杖蒟蒻一枚QvQ

0 条评论

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用 * 标注