【题目链接】

 

    http://www.lydsy.com/JudgeOnline/problem.php?id=2134

 

【题意】

 

    ai与ai+1相等得1分,求期望。

 

【思路】

 

    每个题的期望都是独立的。

    考虑a[i],若a[i]>a[i+1],则有(a[i+1]/a[i])的概率选到1..a[i]并有(1/a[i])的概率选对,同理a[i]<a[i+1]。则期望得分为1/max{ a[i],a[i+1] }。

 

【代码】

 

 1 #include<cstdio>
 2 #include<iostream>
 3 using namespace std;
 4 
 5 typedef long long ll;
 6 ll a[10000007],n,A,B,C;
 7  
 8 int main()
 9 {
10     scanf("%lld%lld%lld%lld%lld",&n,&A,&B,&C,&a[1]);
11     for(int i=2;i<=n;i++) a[i]=((ll)a[i-1]*A+B)%100000001;
12     for(int i=1;i<=n;i++) a[i]=a[i]%C+1;
13     a[0]=a[n];
14     double ans=0;
15     for(int i=1;i<=n;i++) ans+=1.0/(double)max(a[i],a[i-1]); 
16     printf("%.3lf",ans);
17     return 0;
18 }

 

相关文章:

  • 2022-03-04
  • 2022-02-12
  • 2022-01-23
  • 2021-07-19
  • 2021-05-17
  • 2021-08-24
  • 2021-06-14
  • 2021-08-11
猜你喜欢
  • 2021-08-17
  • 2021-07-23
  • 2022-02-21
  • 2022-02-15
  • 2021-11-08
  • 2022-01-31
  • 2021-07-19
相关资源
相似解决方案