\(\\\)

\(Description\)


一共\(N​\)道题目,第\(i​\)道题有\(A_i​\)个选项,现在有一个人做完了所有题目,但将每一道题的答案都写到了下一道题的位置\((​\)第\(N​\)道写到了第一道的位置\()​\),现在这个人的选项和每道题的正确答案对于每一个选项均为随机,求这个人做对的题目数的期望。

  • \(N\in [1,10^7]\)

\(\\\)

\(Solution\)


第\(i\)个位置选择了合法的第\(i+1\)个位置的概率,即选了一个范围在\([1,A_{i+1}]\)范围内的数的概率,是\(\frac{min(A_i,A_{i+1})}{A_i}\)。

选对的概率是\(\frac{1}{A_{i+1}}\),所以第\(i\)个位置做对了第\(i+1\)道题的概率是\(\frac{min(A_i,A_{i+1})}{A_i\times A_{i+1}}=\frac{1}{max(A_i,A_{i+1})}\)。

根据期望的线性性,做对题目总数的期望等于做对每一道题的期望之和,而做对一道题的贡献是\(1\),所以是做对每一道题的概率之和,求出来每一道的概率之后直接求和就好。

\(\\\)

\(Code\)


#include<cmath>
#include<cstdio>
#include<cctype>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#define N 10000010
#define R register
#define gc getchar
using namespace std;
typedef long long ll; inline int rd(){
int x=0; bool f=0; char c=gc();
while(!isdigit(c)){if(c=='-')f=1;c=gc();}
while(isdigit(c)){x=(x<<1)+(x<<3)+(c^48);c=gc();}
return f?-x:x;
} int n,A,B,C,a[N]; int main(){
n=rd(); A=rd(); B=rd(); C=rd(); a[1]=rd();
for(R int i=2;i<=n;i++) a[i]=((ll)a[i-1] * A + B) % 100000001;
for(R int i=1;i<=n;i++) a[i] = a[i]%C+1;
double ans=1.0/(double)max(a[1],a[n]);
for(R int i=2;i<=n;++i) ans+=1.0/(double)max(a[i],a[i-1]);
printf("%.3lf\n",ans);
return 0;
}

最新文章

  1. Quartz.net持久化与集群部署开发详解
  2. jsf组件对应表
  3. PHP数组操作
  4. response.sendRedirect()与request.getRequestDispatcher().forward()区别
  5. JS中正则匹配的三个方法match exec test的用法
  6. Protocol 编码的三种常用方式
  7. 12Mybatis_用mapper代理的方式去开发以及总结mapper开发的一些问题
  8. 一个好用的Log管理类
  9. Library:python-memcached on Windows
  10. 【动态规划】HDU 5492 Find a path (2015 ACM/ICPC Asia Regional Hefei Online)
  11. dist-upgrade
  12. Spring框架学习笔记(5)——自动装配
  13. PHPStorm+PHPStudy新建第一个PHP项目
  14. 数据结构系列(2)之 AVL 树
  15. YASnippet - emacs 的代码片段管理工具
  16. 深入理解MVC原理
  17. linux 内核模块makefile通用模板
  18. Mac OSX取消Apache(httpd)开机启动(转载)
  19. 剑指Offer 32. 把数组排成最小的数 (数组)
  20. flask 未完待续

热门文章

  1. 【03】全局 CSS 样式
  2. ZOJ 1654 Place the Robots
  3. CodeForces 367E Sereja and Intervals
  4. 文化之旅 2012年NOIP全国联赛普及组
  5. codeforces gym 100357 H (DP 高精度)
  6. 怎样用EA设计ER图
  7. Android Message和obtainMessage的差别
  8. MapR CEO对2016大数据的5个预測
  9. css中合理的使用nth-child实现布局
  10. iconfont 不居中的问题