zoukankan      html  css  js  c++  java
  • 2134: 单选错位

    题目大意:卷子上共用 N 道题目,对于题目 i,共有 ai 个选项,每个题只 能选择一个选项。现在把所有的正确选项都涂到了他的下一道 题上,问期望能做对多少道题目

    由于一题只会对下一题产生影响且相互独立,

    可以考虑求出一 道有 a 个选项的题写到有 b 个选项的题时的期望得分。

    对于相邻两道题共有上面一个题有 ai 中选择方案,

    下面一个题 有 aj 中正确的可能,共 ai × aj 种情况作为样本总量 对于做对的情况只有 min{ai , aj} 种、

    把他们乘在一起再乘上 1 就是答案了。

    总共 ai × aj种可能

    可能成立的有$min(a_i,a_j)$

    所以

    $huge{ans=sum^{n}_{i=1}frac{1}{max(a_i,a_{i+1})}}$

     

    #include<cstdio>
    #include<iostream>
    using namespace std;
    #define II int
    #define DB double
    II a[10005000];
    II A,B,C;
    II n;
    DB ans;
    int main()
    {
        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; 
        for(II i=1;i<=n;i++)
        {
            if(i==n)
                ans+=((DB)1/(DB)(max(a[n],a[1])));
            else
                ans+=((DB)1/(DB)max(a[i],a[i+1]));
        }
        printf("%.3lf",ans);
        return 0;
    }
  • 相关阅读:
    计算机执行程序代码的过程分析
    iOS 操作系统架构
    ios 概况了解
    android ApplicationContext Context Activity 内存的一些学习
    android 内存优化一
    android 学习
    ios 基础学习二
    ios 集合总结
    线程之间的通讯---SynchronizationContext
    ASP.NET Core 身份验证及鉴权
  • 原文地址:https://www.cnblogs.com/olinr/p/9416176.html
Copyright © 2011-2022 走看看