BZOJ2134: 单选错位

Posted ONION_CYC

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BZOJ2134: 单选错位相关的知识,希望对你有一定的参考价值。

【算法】期望DP

【题意】有n道题,第i道题有ai个选项。一个人把所有的正确答案填到了后面一题上(特殊的,当i=n的时候填到1上),问他期望做对几道题?

【题解】每道题的期望与其他题目的期望无关。

对于每道题,有ai-1个可能的选项,ai个可能正确选项,共有ai-1ai种组合,其中只有Min(ai-1,ai)种组合是正确的,则期望是E[i]=Min(ai-1,ai)/ai-1ai=1/Max(ai-1,ai)

E(x)=ΣE[i](线性)

技术分享
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=10000000;
int n,a[maxn];
int main()
{
    int A,B,C;
    scanf("%d%d%d%d%d",&n,&A,&B,&C,&a[1]);
    for (int i=2;i<=n;i++) a[i] = ((long long)a[i-1] * A + B) % 100000001;
    for (int i=1;i<=n;i++) a[i] = a[i] % C + 1; 
    a[0]=a[n];
    double ans=0;
    for(int i=1;i<=n;i++)ans+=1.0/max(a[i],a[i-1]);
    printf("%.3lf",ans);
    return 0;
} 
View Code

 

以上是关于BZOJ2134: 单选错位的主要内容,如果未能解决你的问题,请参考以下文章

bzoj2134 单选错位

Bzoj2134:单选错位

BZOJ 2134 单选错位

BZOJ2134: 单选错位(期望乱搞)

BZOJ_2134_单选错位——期望DP

BZOJ 2134 单选错位(数学期望)BZOJ 修复工程