zoukankan      html  css  js  c++  java
  • 单选错位[bzoj2134]

     题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2134

     题解:

      每一步正确的概率的倒数之和就是期望。

      第i道题正确的概率为1/max(a[i],a[i-1])。因为假设第i题的选项比第i-1题多,那么正确概率为1/a[i-1] * a[i-1]/a[i] ,即第i题的正解在第i-1题的选项中且选对;若第i题选项比第i-1题少,那么概率为1/a[i-1],因为正解一定在a[i-1]中,显然随机选时选到正解的概率为1/a[i-1]。(因为题目之间无关,所以可以看做随机的)。

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #define LL long long
     5 #define RI register int
     6 using namespace std;
     7 const int INF = 0x7ffffff ;
     8 const int N = 1e7 + 10 ;
     9 
    10 inline int read() {
    11     int k = 0 , f = 1 ; char c = getchar() ;
    12     for( ; !isdigit(c) ; c = getchar())
    13       if(c == '-') f = -1 ;
    14     for( ; isdigit(c) ; c = getchar())
    15       k = k*10 + c-'0' ;
    16     return k*f ;
    17 }
    18 int a[N] ;
    19 
    20 int main() {
    21     int n, A, B, C ; 
    22     scanf("%d%d%d%d%d",&n,&A,&B,&C,a+1); 
    23     for (int i=2;i<=n;i++) a[i] = ((long long)a[i-1] * A + B) % 100000001; 
    24     for (int i=1;i<=n;i++) a[i] = a[i] % C + 1 ;
    25     double ans = 0 ;
    26     a[0] = a[n] ;
    27     for(int i=0;i<n;i++) ans += 1.0/(double)max(a[i],a[i+1]) ;
    28     printf("%.3lf",ans) ;
    29     return 0 ;
    30 }
  • 相关阅读:
    二维数组求和
    mysql 常用函数
    3月17日 45道T-SQL查找 习题
    查询语句
    T-SQL 增删改查操作
    <转jerrylsxu> HTML语法大全
    1月25日 作业 多线程
    1月22日- 链表和哈希算法
    1月22日作业
    1月21日
  • 原文地址:https://www.cnblogs.com/zub23333/p/8622470.html
Copyright © 2011-2022 走看看