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

发表评论

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

你是机器人吗? =。= *